내가 지금까지 가지고있는 것은 (반복적으로) 반복되는 루프이며, 반복되는 올바른 ID (var_dump에 의해 확인 됨)를 얻지 만 아직 내 sql 쿼리는 ID를 수집하지 않습니다. DELETE 키. 본질적으로 SQL 쿼리는 id = 어레이 반복의 현재 ID 값을 삭제하는 것입니다. 다중 체크 박스를 사용합니다. var 덤프가 ID가 업로드 ID와 일치하는지 확인하지만 삭제를 수행 할 수 없습니다. 여기 코드는 다음과 같습니다mysql 데이터베이스에 대한 foreach PHP 삭제
function submit_delete() {
if(!is_null($_POST['delete']) && !is_null($_POST['checkbox'])) { //Check to see if a delete command has been submitted.
//This will dump your checkbox array to your screen if the submit works.
//You can manually check to see if you're getting the correct array with values
// var_dump($_POST['checkbox']);//Comment this out once it's working.
$id_array = $_POST['checkbox'];
//var_dump($id_array);
deleteUploads($id_array);
}
else {
echo "Error: submit_delete called without valid checkbox delete.";//var_dump($_POST['checkbox']);
}
}
function deleteUploads ($id_array) {
if (count($id_array) <= 0) { echo "Error: No deletes in id_array!"; echo 'wtf'; }
//return; }//bail if its empty
require_once ('../mysqli_connect.php'); //Connect to the db
$delete_success = false; var_dump($delete_success);
foreach ($id_array as $id) { var_dump($id);
$remove = "DELETE FROM upload WHERE upload_id= $id";//AND `owner_id`=".$_SESSION['user_id'];
$result = mysqli_query ($dbc, $remove); // Run the query
//
////$mysqli->query($sql) or die(mysqli_error($mysqli));
if ($result) { $delete_success = true; var_dump($delete_success);}
mysqli_close($dbc);
}
if($delete_success == true) { echo 'done';
header('Location: newwriter_profile.php');
} else {
echo "Error: ".mysqli_error();
}
}
//Test deleteUploads (remove once you know the function is working)
//$test_ids = array();
//$test_ids[] = 5;//make sure this id is in the db
//$test_ids[] = 7;//this one too
submit_delete();
//deleteUploads($id_array);//should remove ids 10 and 9//
mysqli_close($dbc);
루프가 종료되기 전에 적어도 하나의 삭제를 생성해야합니까? – V1GG3N