2011-12-23 129 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