2011-12-23 126 views
-1

我搜索了互聯網,我似乎不知道該怎麼做才能填充我的數據庫中的下拉列表。PHP從MySQL中選擇並插入到下拉列表中

我有一個表,稱爲用戶,其中有角色,如董事長,祕書和管理員。

我的代碼如下:

<td> 
    <span id="spryselect1"> 
     <select name="chairperson" id="chairperson"> 
     </select> 
     <span class="selectRequiredMsg">You Must Choose A Chairperson For This Meeting</span> 
    </span> 
</td> 

如何填充一個下拉列表,以便它顯示所有可用的董事長?

+0

你已經試過了什麼? – 2011-12-23 23:05:33

回答

0

像這樣的事情應該做的伎倆。您可能需要處理創建下拉列表的包裝函數,但這只是一個開始。如果你不熟悉mysql_fetch_object()和你更熟悉數組,那麼你可以在用戶mysql_fetch_array()

<?php 
     mysql_connect("hostname", "user", "password"); 
     mysql_select_db("mydb"); 
     $result = mysql_query("select * from mytable"); 

     function sql_to_select ($result) { 
      $output = '<select name="chairperson" id="chairperson">' 
      while ($row = mysql_fetch_object($result)) { 
       $output. = '<option value="' . $row->role_id . '">' . $row->role . '</option>'; 
      $output .= '</select>'; 
      return $output 
     } 
    ?> 

    <html> 
    <body> 
     <h3>Here will come the select</h3> 
     <div class="wrap-select"> 
      <?php print sql_to_select($result); ?> 
     </div> 
    </body> 
    </html> 
0

在一個非常基本的水平,你需要遍歷每個結果並輸出「...」元素的清單:

<select name="chairperson" id="chairperson"> 
<?php 
// ... Assumes you already connected to and selected a database 
$result = mysql_query('SELECT ...'); 
foreach (mysql_fetch_assoc($result) as $row) : 
    ?> 
    <option value="<?= $row->id_column; ?>"><?= $row->column_to_display; ?></option> 
    <?php 
endforeach; 
?> 
</select> 

很顯然,你需要替換「id_column」不管你要用來唯一標識列表項的主鍵或和「column_to_display」應該是「名」或「標題」或者應該在選項中顯示的內容。

+0

嗨,謝謝你,不幸的是,它沒有從數據庫中提取值。我的SQL語句看起來像這樣> $ result = mysql_query('SELECT * FROM Users WHERE role = chairperson'); – user1114080 2011-12-23 23:23:30

+0

你需要在「主席」 – landons 2011-12-24 00:04:03