【问题标题】:How to create select option from database?如何从数据库中创建选择选项?
【发布时间】:2014-04-26 11:13:28
【问题描述】:

我正在处理一个表单,该表单具有来自数据库的 2 个表的 4 个不同的选择元素。我没有做过这样的事情,我真的不知道该怎么做。

我有一个名为“students”的表格,来自我需要“name”和“class”,还有一个名为“books”的表格,来自我需要“writer”“title”......所有都是一个选择元素,并且都有超过2 个选项值。

我只尝试了一个 sql 查询和一个选择,但它在网站上只显示一个选项,它在数据库中是否有大约 6 个值。

我的代码:

$sql = "SELECT class
        FROM students";
$result = mysql_query($sql);


while ($row = mysql_fetch_assoc($result)) {
    $select_class = "<option value={$row['class']}>{$row['class']}</option>";
}

<select id="class" name="class">
    <?php print $select_class; ?>
</select>

如何正确?

【问题讨论】:

  • 将 $select_class= 更改为 $select_class .= 如果您也可以发布您的表结构将会很有帮助。

标签: php html sql forms select


【解决方案1】:

改变这个:

$select_class = "<option value={$row['class']}>{$row['class']}</option>";

到这里:

$select_class .= "<option value={$row['class']}>{$row['class']}</option>";

可能会解决您的问题。

现在您不断地重置 $select_class 的值,而不是添加它。 .= 分配应该可以帮助您解决这个问题。

与往常一样,请务必对您认为有用的任何 StackOverflow 答案进行投票。

【讨论】:

  • 我认为应该是 $select_class .= $select_class += 可能是 C#。
  • 可以简化为$select_class .=而不是$select_class = $select_class .
  • Paul 和 Maximus2012 是正确的! += 不是 PHP 中的字符串赋值运算符。我已经更正了上面的答案。
【解决方案2】:

试试这个

$sql = "SELECT class FROM students";
$result = mysql_query($sql);

echo '<select id="class" name="class">';

while ($row = mysql_fetch_assoc($result)) {
    echo "<option value={$row['class']}>{$row['class']}</option>";
}

echo '</select>';

【讨论】:

    【解决方案3】:

    您将在每个 while() 循环上覆盖 $select_class。您需要连接 $select_class 。改为$select_class .=

    $select_class = "";
    while ($row = mysql_fetch_assoc($result)) {
        $select_class .= "<option value={$row['class']}>{$row['class']}</option>";
    }
    

    【讨论】:

      【解决方案4】:

      试试这个

              <?php
                              $dbhandle = mysql_connect($hostname, $username, $password) or die("can't connect");
                              $table = "students";
                              $sql = "SELECT * FROM students";
                              $result = mysql_query($sql, $dbhandle);
                              mysql_data_seek($result, 0);
              ?>
              <form>                
              <select class="dropdown" name="dropdown">           
          <?php 
          if(mysql_num_rows($result) > 0){
              while($row = mysql_fetch_array($result)) {
                  echo '<option value="' . $row['class'] . '">' . $row['class'] . '</option>';
                  }
               }
          ?>
      </select>
      </form>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-28
        • 2021-11-03
        • 1970-01-01
        • 1970-01-01
        • 2014-02-04
        相关资源
        最近更新 更多