首先,我想说我不确定这是否正确,所以如果有更好的方法请告诉我。
我的输入表单上有很少的下拉列表和复选框。我希望管理员可以通过后端访问它们,并且能够编辑/删除/创建新的。
我使用form_field
,field_id
和field_name
在数据库group_id
中创建了表格。 group_id
是我存储的地方,下拉菜单是这个字段。例如,带有选择选项的下拉类别:Category_1
,Category_2
... Category_n
。在数据库表中将是:
field_id field_name group_id
1 Category_1 1
2 Category_2 1
3 Category_n 1
页面上的下一个下拉列表将是group_id = 2 .. 现在我想将它们放在管理页面上,如:
Manage "Category"
Manage "Some other dropdown group"
etc
如何循环表格以使名称Manage "Category"
成为链接并取group_id=1
,接下来将Manage "Some other dropdown group"
group_id=2
...等等。这就是我的想法它会,但它只显示我第一组,因为这是条件..
$sql = $pdo->prepare("SELECT * FROM form_fields");
$sql->execute();
$row = $sql->fetch();
if($row['group_id'] == 1){
echo '<li><a href="drops.php?group_id='.$row['group_id'].'"><i class="fa fa-angle-double-right"></i> Manage "Category_1"</a></li>';
} elseif($row['group_id'] == 2) {
echo '<li><a href="drops.php?group_id='.$row['group_id'].'"><i class="fa fa-angle-double-right"></i> Manage "Category_2"</a></li>';
} elseif($row['group_id'] == 3) {
echo '<li><a href="drops.php?group_id='.$row['group_id'].'"><i class="fa fa-angle-double-right"></i> Manage "Category_3"</a></li>';
} elseif($row['group_id'] == 4) {
echo '<li><a href="drops.php?group_id='.$row['group_id'].'"><i class="fa fa-angle-double-right"></i> Manage "Category_4"</a></li>';
}
看起来很简单,但我坚持这个......
答案 0 :(得分:0)
您正在从表中选择所有内容,这样您就可以返回多行。为此,您需要像这样遍历行:
<?php
$sql = $pdo->prepare("SELECT * FROM form_fields");
$sql->execute();
$rows = $sql->fetch();
$html = [];
foreach ($rows as $row) {
$html []= '<li><a href="drops.php?group_id='.$row['group_id'].'"><i class="fa fa-angle-double-right"></i> Manage "' . $row['field_name'] . '"</a></li>';
}
echo join("", $html);
?>
希望这是你正在寻找的。