簡體   English   中英

從MySQL查詢填充組合框的值字段

[英]populating a value field of a combo-box from a MySQL query

該問題與先前的問題回答產生的問題有關! (是這樣)

我已經設置了一個簡單的腳本來訪問MySQL數據庫並使用用戶名填充下拉組合框,但是它不會接受來自我的php的值,但是會創建名稱,因此會出現某種形式的語法錯誤,但不會導致崩潰。

<?php

 # parameters for connection to MySQL database
              $hostname="";
              $database="";
              $ausername="";
              $apassword="";

              mysql_connect ("$hostname","$ausername","$apassword");
              mysql_select_db ("$database");

$query = mysql_query("SELECT DISTINCT username FROM dbusers") or die(mysql_error());
?>

<div id="select_users" style="position:absolute;width:466px;height:108px;">
<form name="select_user" method="POST" action="./page5.php" id="Form1">
<div id="select_a_user" style="position:absolute;left:0px;top:20px;width:100px;height:20px;z-index:11;text-    align:left;">
<span style="color:#000000;font-family:Arial;font-size:15px;">Select User</span></div>
<select name="users[]" multiple = "multiple"  id="users" style="position:absolute;left:93px;top:15px;width:200px;height:75px;z-index:12;">

<option value="test"> Select a user</option>
 <?php
 while($row = mysql_fetch_assoc($query)){
    $username = $row["username"];
    ?>
  <option value= <?php $username ?> > <?php echo  $username ?> </option>
<?php
  }?>
</select>
<input type="submit" id="Button1" name="" value="Submit" style="position:absolute;left:93px;top:100px;width:96px;height:25px;z-index:13;">
</form>
    </div>

這部分

<option value= <?php $username ?> > <?php echo  $username ?> </option>"

是什么引起了這個問題,我認為是因為它沒有分配變量值

我使用以下腳本調試並顯示開機自檢后應該在陣列中的內容

<?php

if(isset($_POST['users'])) 
{
      $ausers = $_POST['users'];

  if(!isset($ausers)) 
  {
    echo("<p>You didn't select any users!</p>\n");
  } 
  else
  {
    $nusers = count($ausers);

    echo("<p>You selected $nusers user: ");
    for($i=0; $i < $nusers; $i++)
    {
      echo($ausers[$i] . " ");
    }
    echo("</p>");
  }
}

?>

它會輸出數組中數據文件的數量,但不會顯示它們的內容,這在強制回顯變量之后使我相信數組的值都是空的。

選擇的最終結果是將數組的每個條目存儲為另一個MySQL查詢的變量,如果有幫助獲得正確結果的正確代碼。

謝謝!

<option value= <?php $username ?> 
                    ^----you forgot 'echo' here

沒有回聲,沒有輸出,並且您生成的html變為

<option value=>foo</option>

我不確定這里是什么問題,有時在處理數據庫時雖然會創建多維數組。 如果是這種情況,您實際上並沒有查看任何值。 為了幫助您檢查,請嘗試對變量執行var_dump,以查看有關數據的所有信息。 它甚至會告訴您如果它確實是空的,它應該看起來像這樣:

echo var_dump($varName);

那應該可以幫助您進行調試,並且也許可以幫助您發布一些更好的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM