08. marts 2009 - 17:06
Der er
14 kommentarer og 1 løsning
CHECKBOX update
Hej, jeg skal bruge hjælp til at lave en opdatering i min mysql database, når der er cheked: Hvis jeg fx. har en række beskeder skrevet i et forum: Der bliver hentet posts, og hver post er udstyret med et unikt id. Opdateringen skal sættes til "active = 'No'" De skal så udstyres med en checkbox og en delete knap i bunden. Jeg har prøvet med: eksempel på html: <form name="slet2" id="slet2" method="post" action="/del2.php"> <input name="id" type="checkbox" id="id" value="1"> <input name="id" type="checkbox" id="id" value="2"> <input name="delete" type="submit" id="delete" value="delete"> </form> php: include "db.php"; $id = htmlspecialchars($_POST[id]); $delete_ids = implode(", ",$id); $query = "UPDATE posts SET active = 'No' WHERE id = '$delete_ids'"; mysql_query($query); Men som sagt er jeg ikke den største php haj, og jeg ville være glad for noget hjælp :)
Annonceindlæg fra Novataris
08. marts 2009 - 17:12
#1
Prøv at sætte name til name=delete[]
08. marts 2009 - 17:18
#2
Dette virker ikke: eksempel på html: <form name="slet2" id="slet2" method="post" action="/del2.php"> <input name="id[]" type="checkbox" id="id[]" value="1"> <input name="id[]" type="checkbox" id="id[]" value="2"> <input name="id" type="submit" id="id" value="delete"> </form> php: include "db.php"; $id = htmlspecialchars($_POST[id]); $delete_ids = implode(", ",$id); $query = "UPDATE posts SET active = 'No' WHERE id = '$delete_ids'"; mysql_query($query);
08. marts 2009 - 17:30
#3
Checkbox: <input type="checkbox" name="slet[]" value="VÆRDI"> PHP: "UPDATE posts SET active = 'No' WHERE nummer IN(".$delete_ids.")";
08. marts 2009 - 17:32
#4
"UPDATE posts SET active = 'No' WHERE id IN(".$delete_ids.")";
08. marts 2009 - 17:33
#5
Prøver igen.. :D Checkbox: <input type="checkbox" name="id[]" value="VÆRDI"> PHP: "UPDATE posts SET active = 'No' WHERE nummer IN(".$delete_ids.")";
08. marts 2009 - 17:34
#6
Det jeg har sat som value, er min post id. Så hvordan får jeg sat den ind?
08. marts 2009 - 17:40
#7
Prøv at udkriv $delete_ids får du så de værdier du har krydset af ?
08. marts 2009 - 17:48
#8
Nope.. der kommer ingenting frem.. jeg kan godt få det til at virke når det kun er 1 checkbox og $delete_ids og [] ikke er inkluderet. Men problemet opstår når der skal flere afsted med samme navn
08. marts 2009 - 17:55
#9
Og du sætter name=id[] ???
08. marts 2009 - 17:58
#10
Ja; <form name="slet2" id="slet2" method="post" action="/del2.php"> <input name="id[]" type="checkbox" id="id[]" value="1"> <input name="id[]" type="checkbox" id="id[]" value="2"> <input name="id" type="submit" id="id" value="delete"> </form>
08. marts 2009 - 18:04
#11
Følgende virker: <form name="slet2" id="slet2" method="post" action=""> <?php // Opdatere if(isset($_POST['Sletknap'])){ $id = $_POST['id']; $delete_ids = implode(", ",$id); $query = "UPDATE posts SET active = 'No' WHERE nummer IN(".$delete_ids.")"; echo $query; } // Udskriv checkbox $i = 1; while($i < 10){ echo $i.'<input name="id[]" type="checkbox" id="id[]" value="'.$i.'">'; $i++; } ?> <input name="Sletknap" type="submit" id="id" value="delete"> </form>
08. marts 2009 - 18:06
#12
<ole> Du kan prøve denne kode, der meget gerne skulle resultere i et array, når du trykket på submit knappen: <pre> <?php var_dump($_POST["slet"])."<hr>"; ?> </pre> <form method="post" action=""> <input type="checkbox" name="slet[]" value="1"> <input type="checkbox" name="slet[]" value="2"> <input type="checkbox" name="slet[]" value="3"> <input type="checkbox" name="slet[]" value="4"> <p><button type="submit">TEST</button></p> </form> /mvh </bole>
12. marts 2009 - 10:42
#13
tak for hjælpen det virker
12. marts 2009 - 13:19
#14
Det ville nok være blevet opfattet som udslag af høflighed, hvis du havde spurgt zynzz, om han ville lægge et svar og få points for at have givet dig løsningen ;o)
22. marts 2009 - 19:27
#15
Skidt med det jeg overlever.. , men af høflighed bør du nok skrive til folk om svar en anden gang..
Vi tilbyder markedets bedste kurser inden for webudvikling