PHP从MySQL中选择&插入下拉列表

时间:2011-12-23 22:55:09

标签: php mysql drop-down-menu

我搜索了互联网,我似乎无法理解该怎么做才能从我的数据库填充我的下拉列表。

我有一个名为users的表,其中有主席,秘书和管理员等角色。

我的代码如下:

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

如何填充下拉列表,以便显示所有可用的主席?

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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”应该是“name”或“title”或者应该显示的任何内容选项。