Ik heb een nieuwsbriefscript die draait via een sql database.
Hierbij heb ik in mijn admin menu een lijstje met het Id nr + email adres van de mensen die ingeschreven staan.
Hierachter wil ik een tekst of knopje, maakt verder niet uit, waarmee ik diegene kan verwijderen uit de database.
mysql_connect("localhost", "***", "***");
mysql_select_db("rest");
if (isset($_GET['del']) && is_numeric($_GET['del'])) {
$iID = $_GET['del'];
$sQuery = 'DELETE FROM `newsletter` WHERE id=' . $iID;
$iResult = mysql_query($sQuery);
echo 'Rij verwijderd.';
}
$txt1 = ID ;
$res = mysql_query("SELECT id_col,email FROM newsletter");
while ($arr = mysql_fetch_assoc($res)) {
echo '<strong>', $txt1, 'Nr:</strong>';
echo $arr["id_col"]."E-Mail:";
echo $arr["email"]."";
echo '<a href="nieuwsbrief_db.php?del=' . $arr['id_col']. '">Verwijder</a><br>';
}
mysql_free_result($res);
alleen hij wil niet helemaal, de code geeft verder geen fouten aan, verwijderen staat netjes achter elk id nr, alleen hij verwijderd de rij niet uit de database..
Het is gelukt, heb de manier van jorian gebruikt en het werkt perfect nu!
Bedankt allebei! :)
Ga nog maar eens goed testen, dan zul je zien dat het niet goed werkt. Vul het id 473923947 maar eens in, die zal waarschijnlijk niet bestaan, tóch krijg je de melding dat het record is verwijderd.
1) je controleert nergens of de query technisch is gelukt.
2) je controleert nergens of de query ook iets heeft verwijderd.
Kortom, nog wel wat werk aan de winkel. En wanneer je toch bezig bent, kun je bug-veroorzakende backticks ` ook uit de query gooien, die troep hoort daar niet te staan.
Ik zou niet eens aan de haal gaan met DELETE-queries. Véél te veel risico. Wat nu als een query mislukt op de een of andere manier en ál jouw data verwijderd? Wat dan?... Het is beter om met een status te werken, deze een bepaalde waarde te geven waardoor het voor jou en je script(s) bekend is dat dit 'verwijderde' data is.
Zo kun je altijd nog een blik werpen op de verwijderde data, kun je terughalen als het fout gaat en ga zo maar door.
@ pgFrank Klopt inderdaad, het is ook gewoon simpel maar werkend, genoeg voor het systeem waarmee ik het gebruik, ik weet niet of ik het ooit zal moeten toepassen, handmatig iemand verwijderen. Er zit namelijk ook een afmeldfunctie bij, voor de gebruikers zelf. Een back-up functie wil ik er ook nog in maken die elke week automatisch een back up maakt.
@ Djemo, een soort Hide functie dus. Zal eens kijken of het me lukt.