我有一个数据库,其中存储了相机详细信息,我想循环遍历数据库的行并根据相机模型创建复选框,但是如果已存在具有相同相机型号的复选框,则我不想要多次正在创建复选框,以便仅限制其中一个。
我感谢任何可以指导我发现它的帮助!
提前致谢!
<?php
$checkquery = "SELECT * FROM markers WHERE session_id = '".$_SESSION["id"]."'";
$result = mysqli_query($connection,$checkquery);
if (!$result) {
die('Invalid query: ' . mysqli_error());
}
echo '<form>';
echo "<h3>Camera Model: </h3>";
while ($row = @mysqli_fetch_assoc($result)){
echo '<label>'.$row['model']. '</label>'.'<input type="checkbox" name="categories" value='.$row['model'].' >';
}
echo '</form>';
?>
答案 0 :(得分:1)
您可以使用DISTINCT
...
$checkquery = "SELECT DISTINCT model
FROM markers
WHERE session_id = '".$_SESSION["id"]."'";
但是也要考虑使用预准备语句和绑定变量来使您的应用程序更安全。
<强>更新强> 还有其他一些事情......
while ($row = mysqli_fetch_assoc($result)){
echo '<label>'.$row['model']. '</label>'.'<input type="checkbox" name="categories" value="'.$row['model'].'" >';
}
正如Syscall在评论中指出的那样,value属性应该有引号括起来。
AND请在代码中停止使用@
,这会隐藏各种应该修复而不是隐藏的问题。