我一直在尝试使用SQL
表的列填充下拉菜单,但我被卡住了。或者下拉菜单中的所有字段都是:Array,或下拉菜单中填充空值。
我试过这段代码。
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>";
?>
答案 0 :(得分:0)
您正在尝试使用数组填充下拉列表,这就是您在选择输入中看到Array
的原因。此外,您不应在html
之后添加echo
标记。
我建议使用此查询来获取表的列:
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>';
?>