对PHP/MySQL数据使用复选框
我已经计算出了足够多的数据,可以在我的表中循环并返回一个复选框列表,这些复选框将与产品匹配。我现在的问题是,我无法找到正确的方法,在选择它们并返回给定产品的已选中/未选中状态后循环它们。虽然涉及到一些MySQL,但这部分不是问题所在,我知道如何插入数据库或更新…当从下拉列表中选择产品时,我需要能够填充复选框 下面是我最初用来显示所有类别的代码,供选择对PHP/MySQL数据使用复选框,php,mysql,checkbox,Php,Mysql,Checkbox,我已经计算出了足够多的数据,可以在我的表中循环并返回一个复选框列表,这些复选框将与产品匹配。我现在的问题是,我无法找到正确的方法,在选择它们并返回给定产品的已选中/未选中状态后循环它们。虽然涉及到一些MySQL,但这部分不是问题所在,我知道如何插入数据库或更新…当从下拉列表中选择产品时,我需要能够填充复选框 下面是我最初用来显示所有类别的代码,供选择 <ul class="categories"> <?php $query = "SELECT * FROM pro
<ul class="categories">
<?php
$query = "SELECT * FROM products";
$result = mysql_query($query) or die(mysql_error());
while ($row = mysql_fetch_assoc($result)) {
$category = $row['category'];
$catId = $row['id'];
echo "<li><input class='catCheck' type='checkbox' name='p_cat[]' value='$catId' /> $category</li>";
}
?>
</ul>
- 您应该为每个复选框指定自己的名称。例如,p_cat1、p_cat2
- 然后你必须记住你给复选框起的名字。例如,如果名称为p_cat1、p_cat2,…,则必须知道复选框的计数。所以,您应该将此计数放在隐藏字段中,或者再次从数据库中检索它李>
- 如果要设置复选框的选中状态,则必须使用“选中”html属性,而不是“值”:
echo“$category ”;
- 当请求来自客户端时,您应该手动迭代所有$\u POST[“p\u cat$i”]变量,并使用类似isset的内容($\u POST[“p\u cat$i”])获取状态
在html页面中,这样做
echo "<li><input class='catCheck' type='checkbox' name='p_cat['.$row['id'].']' value='$catId' /> $category</li>";
$delete = $_POST['p_cat'];
foreach ($delete as $id => $val) {
if($val=='checked'){
$query="DELETE FROM TABLE WHERE id = '".$id."'";
$result= mysqli_query($connection, $query) or die("Invalid query");
}
}
你想干什么?您的描述中不完全清楚。您是否正试图根据查询返回的结果选中/取消选中复选框?在产品
表中是否有表示选中/取消选中状态的字段?验证和保留动态复选框的状态:
$delete = $_POST['p_cat'];
foreach ($delete as $id => $val) {
if($val=='checked'){
$query="DELETE FROM TABLE WHERE id = '".$id."'";
$result= mysqli_query($connection, $query) or die("Invalid query");
}
}