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?
Dan zul je toch echt moeten uitzoeken wat er moet gebeuren:
- Gaat het om echte mails die je uitleest? Of zijn mails hier een synoniem voor privé-berichten?
- Hoe is het opgeslagen?
- Welke procedures moeten er uitgevoerd worden om het te kunnen wissen?
Je zult echt wat meer uitleg moeten geven, want niemand kan hier een concreet antwoord op geven.
De eerste stap is al handig, lees je POST-data eens uit:
<?php
print_r($_POST);
?>
En kijk in de Network-tab van je browser welke data er overgestuurd wordt.
Het zijn inderdaad echte mails, die komen in de database mail_inbox hier moeten ze uiteindelijk dus via checkboxes op id nummer verwijderd kunnen worden.
selecteer ik 2 mails dan moeten er maar 2 verwijderd worden, selecteer ik de hele lijst dan moet de hele lijst verwijderd worden.. moet klinkt trouwens raar haha.. ik wil graag :)
Als ze uit een database verwijderd worden (welke database?), moeten ze dan ook uit de fysieke mailbox verwijderd worden? En is er een link tussen de mails in de database en de mails in de fysieke mailbox?
Wees graag nog iets concreter over de opzet van je systeem.
mail_inbox in de database is waar ze allemaal komen, er is inderdaad een link tussen de database en de mailbox, wanneer er mails binnenkomen gooit hij ze automatisch in mail_inbox in de database, zo heet de database.
Het is de bedoeling dat we mail_inbox kunnen legen (database dus) maar met de mails op de mailserver zal verder niets gebeuren
Dan kan je prima met een foreach() aan de slag om de gekozen mails door te lopen, en vervolgens met een query zoals dit DELETE FROM mails WHERE MailID = $id de mails stuk per stuk te verwijderen.
Zorg eerst maar even dat je jouw $_POST array even uitleest. Dan weet je in ieder geval wat je gekozen hebt.
Het probleem is nu als volgt: als ik mails wil verwijderen vanuit mail_inbox en dan op id dan werkt het niet.. doe ik wat selecteren en verwijden op mail_inbox en dan op mail_sender dan werkt het wel.. hij pakt puur enkel maar de mail adressen en niet de id's? Hoe kan ik dit wel zo werkend maken? Nu verwijder ik bijvoorbeeld op 1 checkbox 60 mails aangezien de afzender hetzelfde is, dit zal ik graag op id willen zodat ik 1 aanvink dat er 1 verwijderd gaat worden en bij 2 dat er 2 verwijderd gaan worden enzovoort.