Ik heb een website waar ik heel wat mails (berichten) tegelijk wil verwijderen.
Op het moment heb ik volgende code:
$(document).ready(function(){
$("#selectall").change(function(){
var status = $(this).is(":checked") ? true : false;
$(".idx").prop("checked",status);
});
$("#hapus_semua").live("click",function(e) {
e.preventDefault();
$(".ajax").attr("disabled", "disabled");
var sList = "";
$(".idx").each(function () {
if (this.checked)
sList += $(this).val() + ",";
});
var callback = function()
{
$.post("../controller/ajax-admin.php", { daftar: sList , "delall-catch": "yes"},
function(data) {
processReport (data);
}
);
}
confirm("Weet u zeker dat u de geselecteerde mails wilt verwijderen?",callback )
});
Echter is het zo dat wanneer ik klik op de button dat er niets gebeurd aangezien er in de ajax.php bestand nog wat mist, wat moet ik hier plaatsen om dit stukje werkend te maken?
Je moet dan toch even kijken wat een print_r() op je $_POST doet, zoals ik gevraagd heb.
Kijk eens wat er gebeurt als je alles selecteert, en wat je array is.
DELETE from mail_inbox WHERE id='".$db->escape_string($_POST['del'])."'
Heb niet alles gelezen maar als je meerdere e-mails tegelijkertijd wilt verwijderen zou ik eerder een constructie met WHERE id IN (x, y, z) verwachten.
Daarbij, deze id's kun je vervangen door willekeurige getallen in de POST en daarmee in de query zelf? Dit houdt dus (misschien?) in dat je willekeurige berichten kunt verwijderen? Moet hier niet nog een andere conditie aan toegevoegd worden die een ontvanger identificeert?
Die code die jij aangeeft dat is ook niet voor meerdere mails inderdaad, dat is enkel voor individueel dat ook bestaat en dat werkte wel, echter werkte het eerste niet om meerdere mails te verwijderen maar dat heb ik dus zelf inmiddels wel kunnen oplossen gisteren.