我正在尝试使用选项创建一个选择字段,选项存储在数据库中。
表格如下:
id option class
1 opt1 cl1
2 opt2 cl2
3 opt3 cl3
4 opt4 cl4
我的代码如下:
mysql_connect(DB_SERVER, DB_USER, DB_PASS);
//select DB
mysql_select_db(DB_NAME);
//query
$query = " SELECT *
FROM `".TBL_OPTIONS."` ";
//result query
$result = mysql_query($query);
// fetch query results
$records = mysql_fetch_array($result, MYSQL_ASSOC);
//var_dump($records);
echo "<select>";
foreach($records["id"] as $id){
echo "<option id=$id>";
echo $records["naam"];
echo "</option>";
}
echo "</select>";
它只返回第一行。然后停止。 我注释掉的var_dump表明它也只选择了第一行。 有帮助吗? :)
答案 0 :(得分:3)
当然它只获取一条记录。 mysql_fetch_array()
仅获取当前行。要获取所有行,您需要循环遍历它。
while($records = mysql_fetch_array($result, MYSQL_ASSOC)) {
//Do something
}
请注意,mysql_*
函数现已弃用,PHP不支持。您应该使用PDO
或MySQLi
代替。
答案 1 :(得分:0)
试试这个
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "<option id=$row['id']>";
echo $row["naam"];
echo "</option>";
}