Hoi,
Ik zit weer met een probleem (wat vaker gaat gebeuren aangezien ik nu erg druk ben ;p).
Ik heb een lijst met checkboxjes, lanks een berichtensysteem, en nu wil ik dat hij de geselecteerde verwijderd. Alleen, ten 1e: Hoe doe ik dat, ik heb ze nu allemaal een oplopend nummer gegeven, maar hoe verwijder ik die.
:cheer:
Checkbox andere laten checken?
-
-
-
PHP
Toon Meer<script language="javascript"> function checkAll(elementFrm) { for (i = 0; i < elementFrm.length; i++) { if(elementFrm.elements[i].type == "checkbox") elementFrm.elements[i].checked = true; } } function uncheckAll(elementFrm) { for (i = 0; i < elementFrm.length; i++) { if(elementFrm.elements[i].type == "checkbox") elementFrm.elements[i].checked = false; } } function toogle(elementFrm){ var d = 1; var j = 0; for(i = 0; i < elementFrm.length; i++){ if(elementFrm.elements[i].type == "checkbox"){ j = j + 1; if(elementFrm.elements[i].checked == true){ d = d + 1; } } } if(d == j){ uncheckAll(elementFrm); } else { checkAll(elementFrm); } } </script> <?php if(isset($_POST['deletemsg'])){ $s = mysql_query("SELECT `id` FROM `berichten` WHERE `ontvanger_id`=".ID) or die(mysql_error()); while($r = mysql_fetch_assoc($s)){ if(isset($_POST['id_'.$r['id']])){ mysql_query("UPDATE `berichten` SET `in_inbox`=1 WHERE `id`=".$r['id']) or die(mysql_error()); } } $msg = good("De geselecteerde berichten zijn verwijderd!"); } ?> <tr> <td class='top' width='6%' style='padding: 2px;'> <input type='checkbox' name='check' onClick='toogle(document.form)' value='Checken' style='margin: 0px;'/> </td> <tr> <td class='inhoud' colspan='4'> <input type='submit' name='deletemsg' value='Verwijder!'> </td> </tr>
Het zijn verschillende stukjes die ik gepakt hebt vanaf mijn script.
:cheer:
-
Bedankt, ga het nu proberen.
Edit; Mis ik iets in wat je gaf? Waar slaat ID. op?
Enkan ik ook hetgene krijgen waar je de 1e keer de checkbox meegeeft?
-
Voor mij werkt het helaas ook niet helemaal, ik heb geen idee wat ik verkeerd doe.
-
Met PHP bedoel je?
Dan moet je inderdaad elk regel een input geven van de checkbox. Die noem je bijv. check1, check2, check3 e.d.
Vervolgens submit de user het formulier en dan loop je met een for lus over al die checks heen (als je er max. 10 op één pagina kan doe je dat) en daar check je dan of hij gelijk is aan "yes". Moet je als value bij die checkbox wel als waarde "yes" geven. Zoja, verwijderen, zo nee: niks mee doen.Lijkt me vrij simpel ;).
-
Klopt, dat dacht ik ook, alleen als ik dingen uit een database opvraag waar het er maximaal 100 kunnen zijn dan werkt het niet zo goed.
-
Citaat van Perrytje11
Bedankt, ga het nu proberen.
Edit; Mis ik iets in wat je gaf? Waar slaat ID. op?
Enkan ik ook hetgene krijgen waar je de 1e keer de checkbox meegeeft?
ID is iets wat in mijn functies.php staan, dat roept de ID van de users op. Dat moet je dus even aanpassen
Ik heb verder even gekeken, en ik ben inderdaad een aantal dingen vergeten, ik heb nu even alles in losse delen gezet + uitleg
PHP
Toon Meer<script language="javascript"> function checkAll(elementFrm) { for (i = 0; i < elementFrm.length; i++) { if(elementFrm.elements[i].type == "checkbox") elementFrm.elements[i].checked = true; } } function uncheckAll(elementFrm) { for (i = 0; i < elementFrm.length; i++) { if(elementFrm.elements[i].type == "checkbox") elementFrm.elements[i].checked = false; } } function toogle(elementFrm){ var d = 1; var j = 0; for(i = 0; i < elementFrm.length; i++){ if(elementFrm.elements[i].type == "checkbox"){ j = j + 1; if(elementFrm.elements[i].checked == true){ d = d + 1; } } } if(d == j){ uncheckAll(elementFrm); } else { checkAll(elementFrm); } } </script>
Is de javascript, zet je helemaal bovenaan je bestand.PHP
Toon Meer<?php if(isset($_POST['deletemsg'])){ $s = mysql_query("SELECT `id` FROM `berichten` WHERE `ontvanger_id`=".ID) or die(mysql_error()); while($r = mysql_fetch_assoc($s)){ if(isset($_POST['id_'.$r['id']])){ mysql_query("UPDATE `berichten` SET `in_inbox`=1 WHERE `id`=".$r['id']) or die(mysql_error()); } } $msg = good("De geselecteerde berichten zijn verwijderd!"); } ?>
Deze zet je onder de javascript.PHPtr> <td class='top' width='6%' style='padding: 2px;'> <input type='checkbox' name='check' onClick='toogle(document.form)' value='Checken' style='margin: 0px;'/> </td>
Dit is een vakje, dat als je erop klikt hij ALLE vakjes aanklikt, dit zit je dus in je tabel.PHP<tr> <td class='inhoud_c' width='6%'> <input type='checkbox' name='id_".$res['id']."' value='".$res['id']."' style='margin: 0px;'/> </td>
Dit echo je naast je bericht, zodat je dus een vakje krijg naast je bericht(en) met dit kies je dus maar 1 berichtje (of meerdere) inplaats van alle.PHP<tr> <td class='inhoud' colspan='4'> <input type='submit' name='deletemsg' value='Verwijder!'> </td> </tr>
Dat zet je onderaan je tabel. -
Het lukt niet, ik heb nu dit:
PHP
Toon Meer<? if(isset($_POST['ontslaan'])){ $select = mysql_query("SELECT * FROM `arbeiders_bezit` WHERE `bezit_van`='".$data->id."'"); while($delete = mysql_fetch_object($select)){ if(isset($_POST['id_'.$delete->id.''])){ goed("Gelukt!"); } } } $select = mysql_query("SELECT * FROM `arbeiders_bezit` WHERE `bezit_van`='".$data->id."'"); while($info = mysql_fetch_object($select)){ $i1 = 0; ?> </tr> <tr> <form name="form" method="post" action=""> <td><input type="checkbox" name="id" id="id" value="id_<?echo$info->id;?>"/></td> <td><image src="../images/icons/user_suit.png" alt=""></td> <td><?echo$info->naam;?></td> <td><image src="../images/icons/heart.png" alt=""></td> <td><?echo$info->conditie;?></td> <td><image src="../images/icons/controller_add.png" alt=""></td> <td><?echo $var11111 = produceren($info->conditie);?></td> <td><image src="../images/icons/coins.png" alt=""></td> <td><?echo$var11111*50;?></td> </tr><?$i1++;}?> <tr><td> <input type='checkbox' name='check' onClick='toogle(document.form)' value='Checken'/></td>
-
-
Als ik iets wil verwijderen, zoals het eruit ziet: Niks, de pagina reload. En als ik print$_POST; doe dan krijg ik eruit: "Array".
Ja, javascript toegevoegd.
@Dat laatste, ik heb mijn eigen, genaamd ontslaan, maar die staat nog 1 regel beneden. -
Ik snap niet echt waarom hij nou niet werkt
-
Ik ook niet, maar er antwoord niemand anders8-)
-
Kan als de oplossing bekend is mij die ook doorgestuurd worden ?
Participate now!
Heb je nog geen account? Registreer je nu en word deel van onze community!