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
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
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.