22. januar 2006 - 11:27
Der er
12 kommentarer og 1 løsning
delete af flere ting fra MYSQL-database under samme klik?
Ja. jeg vil have så der er en checkbox ud for hver besked, så hvis der fx er tjekket på id 1, 2, 3, 4 og 7, så sletter den dem - hvordan kan dette gøres? På forhånd tak.
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
22. januar 2006 - 11:39
#1
Hvis du navngiver en mænge checkboxe som id[] kan du tilgå dem som et array Noget i denne stil.. <?php if(isset($_POST['id'])){ $id = $_POST['id']; if(is_array($id)){ $id2 = array(); // kontroller at alle id'er er tal foreach($id as $value){ if(is_numeric($value)){ $id2[] = $value; }else{ // id ikke numeric exit(); } } $id = implode(",", $id2); $sql = "DELETE FROM tabel WHERE id IN ($id)"; // mysql_query($sql); } header("Location: ".$_SERVER['PHP_SELF']); exit(); } ?> <form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>"> <input type="checkbox" name="id[]" value="1"> Besked 1<br> <input type="checkbox" name="id[]" value="2"> Besked 2<br> <input type="checkbox" name="id[]" value="3"> Besked 3<br> <input type="submit"> </form>
22. januar 2006 - 11:40
#2
Hvis du navngiver dine checkboxe sådan her name="slet[]" så kan du fange dem som et array: "DELETE FROM tabel WHERE id IN (".implode(",", $_POST['slet']).")"
22. januar 2006 - 12:00
#3
hvis hmortensensvirker ser det jo helt kanon ud :D
22. januar 2006 - 12:01
#4
hvis det er en offentlig side, og gerne vil kode sikkert, så er hmortensens næsten for simpel
22. januar 2006 - 12:23
#5
polle007: no offense, men din fatter jeg heller ingen ting af? Og det er kun administratorer der får dette at se :)
22. januar 2006 - 12:39
#6
Warning: implode() [function.implode]: Bad arguments. in /web/www/frac/users/** on line 766 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 linje 766: mysql_query("DELETE FROM tabel WHERE id IN (".implode(",", $_POST['slet']).")") or die(mysql_error()); << hvad er fejlen ?? :S
22. januar 2006 - 13:31
#7
Ingen der er her til at svare? :S
22. januar 2006 - 15:24
#8
Har du navngivet checkboxene som forslået ?
22. januar 2006 - 16:20
#9
det hedder name="slet[]" ? :)
22. januar 2006 - 19:07
#10
Prøv at vise hvordan du udskriver din form.
30. januar 2006 - 21:30
#11
<div id="kommentartable" style="display:none;"> <? $getpage1 = $_GET['page']; if($getpage1 == ""){ $getpage1 = "news"; } else { $getpage1 = $_GET['page']; } $foresp = mysql_query("SELECT * FROM nyhedskommentarer WHERE tilid = \"$getid\" ORDER BY id DESC"); $num_rows = mysql_num_rows($foresp); if($num_rows == "0"){ echo " <p style=\"font-family: tahoma,sans-serif; font-size: 8pt; color: #65845E;\">Der er endnu ikke skrevet nogle kommentarer til denne nyhed. </p>"; if($_SESSION['status'] != "login"){ } else { echo "<p align=\"center\"><img src=\"/graphics/menu_line/green_line.png\" height=\"1\" width=\"95%\" style=\"align: center;\"></p>"; } } else { while ($data = mysql_fetch_array($foresp)){ $id1 = $data[id]; $emne1 = stripslashes($data[emne]); $kommentar1 = stripslashes(nl2br($data[kommentar])); $forfatter1 = $data[forfatter]; $dato1 = $data[dato]; ?> <table cellpadding="0" cellspacing="0" width="100%" height="2"> <tr> <td valign="top" height="4" width="274" style="font-size: 1pt; border-bottom: 1px solid #65845E;"> </td> </tr> </table> <table cellpadding="0" cellspacing="0" width="100%" height="100%" style="background-color: #<?= ( $i++ % 2 ? 'E1E1E1' : 'C0C0C0' ) ?>"> <tr> <td valign="top" height="21" style="padding:2px; font-family: tahoma,sans-serif; font-size:8pt; color: #65845E;"> <b><? echo $emne1; ?></b></td> <td valign="top" rowspan="3" width="175" style="font-family: tahoma,sans-serif; font-size:8pt; color: #65845E; padding: 2px; border-bottom: 1px solid #65845E; border-left: 1px dotted #65845E;"> <? $forespGETUSERNAME = mysql_query("SELECT * FROM login WHERE id = \"$forfatter1\" LIMIT 1"); while ($data = mysql_fetch_array($forespGETUSERNAME)){ $brugernavn11 = $data[brugernavn]; echo "<a href=\"index.php?page=users&show=profile&id=$forfatter1\" style=\"font-family: tahoma,sans-serif; font-size:8pt; color: #65845E;\">"; echo $brugernavn11; echo "</a>"; echo "<span style=\"text-align:center;\">"; echo "<input type=\"checkbox\" name=\"slet[]\" value=\"<? echo $id1; ?>\">"; echo "</span>"; } ?><br /> <? echo date("d-m/Y H:i",$dato1); ?><br> <? $foresp11 = mysql_query("SELECT * FROM login WHERE brugernavn = \"$forfatter1\" LIMIT 1"); while ($data = mysql_fetch_array($foresp11)){ $brugernavn = $data[brugernavn]; $billede = $data[billede]; $rang = $data[rang]; if(!isset($rang)){ $res = mysql_query("SELECT count(*) AS antal_forumemner FROM forum_emner WHERE forfatter = \"$forfatter1\""); while ($data = mysql_fetch_array($res)) { $antalforumemner1 = $data[antal_forumener]; $res1 = mysql_query("SELECT count(*) AS antal_forumindlaeg FROM forum_indlaeg WHERE forfatter = \"$forfatter1\""); while ($data = mysql_fetch_array($res1)) { $antalforumemner = $antalforumemner1; $antalforumindlaeg1 = $data[antal_forumindlaeg]; $antalforumindlaeg = ($antalforumemner + $antalforumindlaeg1); $foresp = mysql_query("SELECT * FROM forumrang WHERE minimum =< \"$antalforumindlaeg\" AND maximum >= \"$antalforumindlaeg\" LIMIT 1"); while ($data = mysql_fetch_array($foresp)){ $navn = $data[navn]; echo "$navn"; } } } } else { echo "$rang"; } ?> <p> <img border="0" src="../../<? echo $billede; ?>" width="100" height="120"></p> <? } ?></td> </tr> <tr> <td valign="top" style="color: #<?= ( $i2++ % 2 ? '808080' : '333333' ) ?>; font-family: tahoma,sans-serif; font-size:8pt; padding-top: 8px; padding-bottom:2px; padding-right: 2px; padding-left:2px;"> <? echo $kommentar1; ?> </td> </tr> <tr> <td valign="middle" height="6" width="558" style="font-size: 1px; border-bottom: 1px solid #65845E;"> <p align="center"> </p></td> </tr> </table> <? } ?> <table cellpadding="0" cellspacing="0" width="100%"> <tr> <td valign="top" width="80%"> <p> </p> </td> <td valign="top" width="145"> <form action="index.php?id=<? echo $getid; ?>" method="post" enctype="multipart/form-data"> <input type="hidden" name="action" value="delete"> <input type="submit" name="submit" value="Slet valgte"> </form> </td> <td valign="top" height="23" width="167"> <form action="index.php?id=<? echo $getid; ?>" method="post" enctype="multipart/form-data"> <input type="hidden" name="action" value="deleteAll"> <input type="submit" name="submit1" value="Slet alle"> </form></td> </tr> <tr> <td valign="top" height="4"> <p style="font-size:1pt;"> </p> </td> </tr> </table> <? if($num_rows == "0"){ ?> <p align="center"><img src="/graphics/menu_line/green_line.png" height="1" width="95%" style="align: center; padding-top: 5px;"></p> <? } else { ?> <? } ?> <? } ?> <? if($_SESSION['status'] == "login" && $_SESSION['niveau'] >> "0"){ $forespGETID2 = mysql_query("SELECT * FROM nyheder ORDER BY id DESC LIMIT 1"); while ($data = mysql_fetch_array($forespGETID2)){ $id = $data[id]; if($getid == ""){ $getid1 = $id; } else { $getid1 = $_GET['id']; } } echo "<form action=\"index.php?id=$getid1\" method=\"post\" enctype=\"multipart/form-data\">"; ?> <input type="hidden" name="action" value="add" size="20"> <table cellpadding="0" cellspacing="0" width="674" height="20"> <!-- MSTableType="layout" --> <tr> <td width="674" height="20" style="padding-top:2px; border-top: 2px solid #65845E;"> <p style="font-size: 10pt; font-weight: bold; font-family: tahoma,sans-serif; color: #65845E;"><b>Tilføj kommentar</b></p></td> </tr> </table> <table cellpadding="0" cellspacing="0" width="674" height="200"> <!-- MSTableType="layout" --> <tr> <td valign="top" width="80%" rowspan="3" style="padding: 5px;"> <p style="font-size: 8pt; font-weight: bold; font-family: tahoma,sans-serif; color: #65845E;">Emne: <input type="text" name="emne" size="90" style="padding:2px; font-size:8pt; font-family: tahoma,sans-serif; color: #65845E; border: 1px solid #65845E;"></p> <p style="font-size: 8pt; font-weight: bold; font-family: tahoma,sans-serif; color: #65845E;">Kommentar:<br /> <textarea rows="8" name="kommentar" style="padding:2px; font-size:8pt; font-family: tahoma,sans-serif; color: #65845E; border: 1px solid #65845E;" cols="102"></textarea> </p> </td> <td valign="top" height="175"> <p style="font-size: 8pt; font-family: tahoma,sans-serif; color: #65845E;"><b>Hvem er du:</b><br> <? echo $_SESSION['brugernavn']; ?></p> <p style="font-size: 8pt; font-family: tahoma,sans-serif; color: #65845E;"> <b>Hvornår bliver denne kommentar tilføjet:</b><br /> Nu(<? echo date('d/m-Y H:i'); ?>) </p> </td> </tr> <tr> <td valign="bottom" height="40%"><input type="submit" value="Kommentér" style="font-size: 8pt; font-weight: bold; font-family: tahoma,sans-serif; color: #65845E;"><p> <input type="reset" value="Nulstil" style="font-size: 8pt; font-weight: bold; font-family: tahoma,sans-serif; color: #65845E;"></td> </tr> <tr> <td valign="top" height="10%"> </td> </tr> </table> << Det er vist det der jeg bruger, sådan gør jeg det, hvis du kan se noget ud af det? :)
03. december 2006 - 01:13
#12
smid svar :)
26. december 2008 - 12:14
#13
lukker..
Vi tilbyder markedets bedste kurser inden for webudvikling