【问题标题】:populate dropdown menu on SQL columns在 SQL 列上填充下拉菜单
【发布时间】:2017-12-07 18:44:03
【问题描述】:

我一直在尝试使用SQL 表的列填充下拉菜单,但我被卡住了。或者下拉菜单中的所有字段都是:数组,或者下拉菜单中填充了空值。

我错过了什么吗?

我试过这段代码。

SHOW COLUMNS, DESCRIBE 'TABLE' AND SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE = ikbb;

    <?php
    $conn = new mysqli('localhost', 'heijsdb_user', 'maus', 'heijsdb') 
    or die ('Cannot connect to db');
    $result = $conn->query("SHOW COLUMNS FROM ikbb FROM heijsdb");
    echo "selecteer een input om aan te passen";
    echo "<html>";
    echo "<body>";
    echo "<select name='id'>";
    while ($row = $result->fetch_assoc()) {

                $rows[0] = $row;
                  echo '<option value="'.$row.'">'.$row.'</option>';

}

    echo "</select>";
    echo "</body>";
    echo "</html>";
?>

result result 2

【问题讨论】:

  • $row 是一个数组。
  • 像 $row[0] 或 $row[value] 这样的值来设置选项值
  • 这是怎么重复的,因为我想填充下拉菜单
  • 我同意莫里斯,重复的链接不好。

标签: php html sql


【解决方案1】:

您正在尝试使用数组填充下拉列表,这就是您在选择输入中看到 Array 的原因。此外,您不应在 echo 之后添加 html 标签。

我会推荐这个查询来获取表的列:

SELECT `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA`='your_database' AND `TABLE_NAME`='your_table'

要使用这些名称填充下拉列表,只需使用以下脚本:

<?php
$conn = new mysqli("server", "user", "password", "database");
$result = $conn->query("SELECT `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA`='your_database' AND `TABLE_NAME`='your_table'");
echo '<html>';
echo '<body>';
echo '<select name="id">';
while($row = $result->fetch_assoc()) {
    echo '<option value="'.$row['COLUMN_NAME'].'">'.$row['COLUMN_NAME'].'</option>';
}
echo '</select>';
echo '</body>';
echo '</html>';
?>

【讨论】:

    猜你喜欢
    • 2020-03-31
    • 1970-01-01
    • 2010-10-06
    • 1970-01-01
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多