Hi,
I'm trying to delete multiple values from a MySQL table using checkboxes. however, no matter what code I use (foreach or while) only the first item in the checkbox is being deleted, it's like it's not looking through. Code is:
if (isset($_POST['delete'])) {
delete($delete);
}
<form action="'. $PHP_SELF .'" method="POST">
<input type="checkbox" name="delete[]" value="1">
<input type="checkbox" name="delete[]" value="2">
<input type="checkbox" name="delete[]" value="3">
</form>
function delete($delete){
global $feedback;
$delete=$_POST['delete'];
if (!$delete){
$feedback .=' ERROR - Nothing Selected ';
return false;
} else {
foreach ($delete as $val) {
$result = mysql_query("DELETE FROM `test` WHERE `id` = '$val'")
or die(mysql_error());
if (!$result || mysql_affected_rows() < 1){
$feedback .=' ERROR - Unable To Delete ';
return false;
} else {
$feedback .=' SUCCESS - Vendor Deleted ';
return true;
}
}
}
}
I've also tried changing
foreach ($delete as $val) {
to
foreach ($_POST['delete'] as $key => $val) {
and
while(list($key,$val) = each($delete)) {
however, each produces the same result, only a single entry from the database is deleted!
Can anyone suggest how to get this working?
Thanks
Ben