我正在尝试从我的 sql 数据库构建一个下拉列表。 设法让它有点工作,但列表只显示表中的最后一项,我在页面重新加载时将其打印在页面上:
[
{"id":"1","zavod_ime":"PEIT"},
{"id":"2","zavod_ime":"PTJM"},
{"id":"3","zavod_ime":"PM"},
{"id":"4","zavod_ime":"PN"},
{"id":"5","zavod_ime":"BS"}
]
这是我单独的 php 文件,它处理连接并将事物放入数组中:
$sqltran = mysqli_query($con, "SELECT id, zavod_ime FROM zavod")or die(mysqli_error($con));
$arrVal = array();
while ($rowList = mysqli_fetch_array($sqltran)) {
$namez = array(
'id'=> $rowList['id'],
'zavod_ime'=> $rowList['zavod_ime']
);
array_push($arrVal, $namez);
}
echo json_encode($arrVal);
mysqli_close($con);
和html中的列表部分:
<select>
<?php foreach($namez as $zavod): ?>
<option value="<?= $namez['id']; ?>"><?= $namez['zavod_ime']; ?></option>
<?php endforeach; ?>
</select>
想法?
最佳答案
你需要 arrVal
来循环而不是 namez
<select>
<?php foreach($arrVal as $namez): ?>
<option value="<?= $namez['id']; ?>"><?= $namez['zavod_ime']; ?></option>
<?php endforeach; ?>
</select>
关于php mysql下拉问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45164257/