echo "<form name='input' action='admin_selecteren_voor_verwijderen.php' method='post'>";
$sql_bestelling= "SELECT * FROM producten";
foreach($dbh->query($sql_bestelling) as $row)
{
$product_id=$row['product_id'];
$product_naam=$row['product_naam'];
$prijs=$row['prijs'];
$foto=$row['foto'];
echo "
<br>
<img src='$foto' height='70' width='50' border='0'>
<b>$product_naam</b> <input type='checkbox' name='$product_naam' value='$product_naam'></br>
</br></br></br>";
//if (isset($_POST['submit'])){
// $sql = "DELETE FROM `producten` WHERE product_naam='$product_naam'";
// $query = $dbh->prepare( $sql );
// $result = $query->execute();
//}
}
if(!empty($_POST['checkbox'])) {
foreach($_POST['checkbox'] as $check) {
echo "check: ", $check;
}
}
echo "
<input type='submit' value='Delete'>
</form>";
?>
我想在我的网店管理员页面中有一个产品列表。每个产品都有一个复选框。我希望能够删除复选框的所有产品都被选中。但我不知道如何......以上就是我到目前为止所做的。添加的图片是它在页面上的外观。但是该页面是从具有foreach循环的数据库中选择的产品列表,如代码中所示。该复选框也在循环中。我不知道如何将每个检查的产品分配给变量,然后将其从数据库中删除。任何人都可以帮助我吗?
答案 0 :(得分:1)
将所有复选框命名为delete[]
,并将产品名称放在每个复选框的值中。
<form action="..." method='post' >
user1<input type="checkbox" name="delete[]"
value="<?php echo $product_naam ?>" /><br />
user2<input type="checkbox" name="delete[]"
value="<?php echo $product_naam ?>" /><br />
user3<input type="checkbox" name="delete[]"
value="<?php echo $product_naam ?>" /><br />
user4<input type="checkbox" name="delete[]"
value="<?php echo $product_naam ?>" /><br />
<input type='submit' value='delete' />
</form>
<?php
if(isset($_POST['delete'])){
$ids = $_POST['delete'];
$sql = "DELETE FROM `producten` WHERE product_naam
IN('".implode("','", $ids)."')";
//execute query
}
?>
答案 1 :(得分:1)
您正在寻找$_POST['checkbox']
,但这不是您表单中的内容。将复选框命名为checkbox[]
,并使用$ product_naam作为值。
<input type='checkbox' name='checkbox[]' value='$product_naam'>
现在,您可以使用foreach
循环对其进行循环并删除。
答案 2 :(得分:0)
您不应该将产品名称的复选框命名为“删除”或其他名称。然后,您可以使用foreach方法从数据库中删除它们,如下所示:
<?php
echo "<form name='input' action='admin_selecteren_voor_verwijderen.php' method='post'>";
$sql_bestelling= "SELECT * FROM producten";
foreach($dbh->query($sql_bestelling) as $row)
{
$product_id=$row['product_id'];
$product_naam=$row['product_naam'];
$prijs=$row['prijs'];
$foto=$row['foto'];
echo "
<br>
<img src='$foto' height='70' width='50' border='0'>
<b>$product_naam</b> <input type='checkbox' name=delete' value='$product_naam'></br>
</br></br></br>";
//if (isset($_POST['submit'])){
// $sql = "DELETE FROM `producten` WHERE product_naam='$product_naam'";
// $query = $dbh->prepare( $sql );
// $result = $query->execute();
//}
}
if(isset($_POST['delete'])) {
foreach($_POST['delete'] as $delete){ {
$sql = "DELETE FROM producten WHERE product_naam= $delete";
$query = $dbh->prepare( $sql );
$result = $query->execute();
}
}
echo "
<input type='submit' value='Delete'>
</form>";
?>
另外,在我看来,你错误地将“价值”误认为是“名字”,请阅读。阅读有关PDO的内容会很好,mysql并不安全。 http://www.php.net/manual/en/book.pdo.php