14. marts 2005 - 10:44Der er
13 kommentarer og 1 løsning
Checkboxe - slet fra database?
Hey eksperten..
Jeg er ved at lave sådan at man kan slette ting i en database ud fra checkboxe, men kan ikke få det til at virke. Checkbox data kommer fra en database. Jeg ligger lidt kode så i kan se hvad jeg mener.
Først har vi siden med checkboxe:
(det skal lige siges at jeg ikke har særlig meget styr på php så bær over med mig :))
<?php //gæstebog mysql_connect("server", "bruger", "pass"); mysql_select_db("database"); $resultat = mysql_query("select navn from database order by navn"); while ($raekke = mysql_fetch_array($resultat)) { extract($raekke); ?> <form name="navn" action="del.php" method="post"> <input type="checkbox" name="navn"><?php print "$navn"; ?><br><?php } ?> <input type="submit" value="Slet indlæg"> </form>
Derefter sender den dig videre til del.php som skulle slette de markerede checkboxe fra databasen. Del.php ser sådan ud:
<?php mysql_connect("server", "bruger", "pass"); mysql_select_db("database"); //$navn = $_POST['navn']; udkommenteret, hvorfor kan jeg ikke huske. $updateSQL = "DELETE from database where navn='$_REQUEST[navn]'"; mysql_query($updateSQL); print "Opdaterer databasen, vent venligst!"; print "<script>document.location.href='slet.php';</script>"; ?>
Nogen ide om hvad jeg skal gøre for at få det til at virke? :D
okay...fatter jeg godt nok ikke så meget af...har prøvet lidt og den melder ingen fejl og sletter heller ikke i db´en.. Her er koden til de 2 sider efter opdatering med det du skrev..
<?php mysql_connect("localhost", "root", "snickers"); mysql_select_db("gb"); $resultat = mysql_query("select navn from gb order by navn"); //while ($raekke = mysql_fetch_array($resultat)) { //extract($raekke); ?> <form action="del.php" method="post"> <?php while ($raekke = mysql_fetch_array($resultat)) { echo"<input type=\"checkbox\" name=\"gb[]\" value=\"". $raekke["navn"] ."\">". $raekke["navn"] ."<br />\n"; } ?> <input type="submit" value="Slet"> </form>
Del.php:
<?php mysql_connect("localhost", "root", "snickers"); mysql_select_db("gb"); foreach($_POST["gb"] as $del_navn) { mysql_query("DELETE FROM `gb` WHERE `navn` = '". $del_navn ."'") or die (mysql_error()); } print "Opdaterer databasen, vent venligst!"; print "<script>document.location.href='slet.php';</script>"; ?>
Og forresten, hvis der kan forekomme mellemrum i navn, elelr danske speciel tegn, så brug urlencode($raekke["navn"]) som value og urldecode($del_navn) når du sletter
hehe jeg har ikke store øre....skulle bare bruge et navn :D
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.