Forum Moderators: coopster
===================delete1.php=====================
<html>
<head>
<title>ZDH GEETBETS</title>
<LINK rel="stylesheet" href="center.css" type="text/css">
</head>
<body class="body">
<?php
include("dbconnect.php");
$result = mysql_query("SELECT `titel`, `id` FROM id_center ORDER BY `id` ASC");
echo "<FORM method='post' action='delete-from-database1.php'><TABLE>";
while($row = mysql_fetch_assoc($result))
{
echo "</TR><TD><INPUT type='checkbox' name='".$row['id']."'></TD>";
echo "<TD>".$row['titel']."</TD></TR>";
}
echo "<TR><TD><INPUT type='submit' value='Delete'></TD></TR>";
echo "</TABLE></FORM>";
?>
</body>
</html>
===========delete-from-database1.php===============
<?php
error_reporting(E_ALL);
include("dbconnect.php");
foreach($_POST['$row['id']'] as $id_center)
{
$query = "DELETE FROM `id_center` WHERE id = $id_center";
echo $query;
$result = mysql_query($query) or die ('Fout: '.mysql_error());
if (mysql_affected_rows()!=0)
{
echo "<p>DELETE voltooid. <a href='delete1.php'>Klik hier om terug te gaan</a></p>";
}
else
{
echo "<p>DELETE afgebroken!</p>";
}
}
?>
Welcome to WebmasterWorld. :)
Ok, you are using a foreach loop but not actually assigning your data to an array. You also have the wrong syntax for your check box:
<INPUT type='checkbox' name='".$row['id']."'>
Should be:
<INPUT type='checkbox' name="check[]" value='".$row['id']."'>
Note the [] after check. This creates an array of checkboxes.
Then your foreach loop would be:
foreach($_POST['$row['check']'] as $id_center)
{
$query = "DELETE FROM `id_center` WHERE id = $id_center";
//rest of code
}
If you are enabling users to delete things, you must use empty() before your foreach loop because if you try and execute the script with no box checked you will get an error.
if (!empty($_POST['check']))
{
foreach($_POST['$row['check']'] as $id_center)
{
//rest of code
}
echo "Entries deleted!";
}
else
{
echo "Please check something!";
}
Hope that helps.
dc
This is how the code looks like now
<?php
include("dbconnect.php");
foreach($_POST['$row['check']'] as $id_center)
{
$query = "DELETE FROM `id_center` WHERE id = $id_center";
echo $query;
$result = mysql_query($query) or die ('Fout: '.mysql_error());
// rest of code
}
?>
Try changing:
<?php
error_reporting(E_ALL);
include("dbconnect.php");
foreach($_POST['$row['id']'] as $id_center)
{
$query = "DELETE FROM `id_center` WHERE id = $id_center";
echo $query;
$result = mysql_query($query) or die ('Fout: '.mysql_error());if (mysql_affected_rows()!=0)
{
echo "<p>DELETE voltooid. <a href='delete1.php'>Klik hier om terug te gaan</a></p>";
}
else
{
echo "<p>DELETE afgebroken!</p>";
}
}
?>
to
<?php
error_reporting(E_ALL);
include("dbconnect.php");$check = $_POST['check'];
foreach($check as $id_center)
{
$query = "DELETE FROM `id_center` WHERE id = '$id_center'";
$result = mysql_query($query) or die ('Fout: '.mysql_error());if (mysql_affected_rows()!=0)
{
echo "<p>DELETE voltooid. <a href='delete1.php'>Klik hier om terug te gaan</a></p>";
}
else
{
echo "<p>DELETE afgebroken!</p>";
}
}
?>
dc