我正在尝试创建一个将在页面上多次显示的选择框,其中的选项由我的SQL查询填充。我能够显示一次但是当我尝试创建第二个相同的选择框时,下拉框中没有选项。这就是我的工作:
<?php include_once "app/init.php";
$dataQuery = $db->prepare("
SELECT column FROM dataType");
$dataQuery->execute([]);
$dataTypes = $dataQuery->rowCount() ? $dataQuery : [];
?>
<div>
<select>
<?php foreach($dataTypes as $dataType): ?>
<option>
<?php echo $dataType['dataType']; ?>
</option>
<?php endforeach; ?>
</select>
</div>
但是当我尝试添加第二个选择框时,它就是空白。我正在创建一个表,每个行上都有这个选择框供用户选择数据类型,所以我需要多次动态重新创建它。我是php的新手,那么最好的方法是什么呢?
我的init.php显示使用PDO:
<?php session_start();
$_SESSION['user']=1;
$db = new PDO ('mysql:dbname=myDB;host=localhost', 'root', 'root');
if(!isset($_SESSION['user'])) {
die('You are not signed in');
};
答案 0 :(得分:1)
您只能遍历PDO语句一次,因此您应该将结果放在临时数组中。
而不是:
$dataTypes = $dataQuery->rowCount() ? $dataQuery : [];
待办事项
$dataTypes = $dataQuery->fetchAll(\PDO::FETCH_ASSOC);