In this code:
if (!empty($_POST['prj_check'])) {
foreach($_POST['prj_check'] as $v) {
$del_id = mysql_real_escape_string($v);
$deleteSQL = sprintf("DELETE FROM projects WHERE prj_id='$del_id'",
GetSQLValueString($_GET['prj_id'], "int"));
}
}
You iterate over an array and generate a sql statement; however, you never execute them all. Your current code will only ever delete the last checkbox selected in the form.
To fix this, you could do:
if ((isset($_GET['prj_id'])) && ($_GET['prj_id'] != "") && (isset($_POST['btn_delete']))) {
if (!empty($_POST['prj_check'])) {
$project_ids = array();
foreach($_POST['prj_check'] as $v) {
$project_ids[] = GetSQLValueString($_POST['prj_check'], 'int');
# $del_id = mysql_real_escape_string($v);
# $deleteSQL = sprintf("DELETE FROM projects WHERE prj_id='$del_id'",
# GetSQLValueString($_GET['prj_id'], "int"));
}
$deleteSQL = "DELETE FROM `projects` WHERE `prj_id` IN (";
$deleteSQL .= implode(', ', $project_ids);
$deleteSQL .= ")";
mysql_select_db($database_fatih, $fatih);
$Result1 = mysql_query($deleteSQL, $fatih) or die(mysql_error());
}
}
I do notice though you post "prj_check", but you want to delete based on $_GET['prj_id'].... can we see the html of the form that you are wanting to use?