Checkbox uitlezen

Status
Niet open voor verdere reacties.

slabbetje

Gebruiker
Lid geworden
5 mei 2007
Berichten
290
Ik ben hier al een tijdje mee lopen klooien maar het wil maar niet lukken,
Ik heb een soort van mailbox op mn site staan maar nu wil ik t zo hebben dat je simpel alle geselecteerde berichten kan verwijderen dit wil ik dus doen met een checkbox
Alleen hoe doe ik dat kan je dan gewoon dit script bijv gebruiken:

PHP:
$rij2 = "select * from `data_berichten` ORDER BY `id`";
$rij1 = mysql_query($rij2);
	
while ($rij = mysql_fetch_assoc($rij1)) {

echo"
<form method="post">

<input type='checkbox' name='$rij['id']'>
<input type='submit' name='submit'>

</form>
";

$submit = $_POST['submit'];
$selected = $_POST['$rij['id']'];
}

ik heb hier maar wat gedaan en niet alles in variables gezet maar t gaat om t idee
want nu zal hij de submit button ook telkens kopieeren als ik dit doe ^^
 
Checkboxes

Hoi slabbetje,

benoem je options (selection box) als: "gemeenschappelijkenaamvanjeboxen[uniekewaarde]". De unieke waarde kun je maken door bv for loop. Hangt ervan af hoe je het wilt gebruiken. Je kunt dit ook handmatig doen. in mijn voorbeeld is dit opt[1], opt[2] etc.

<input style="border: 0px;" type="checkbox" name="opt[<?php echo $database_inhoud["ID"]; ?>]" value="1" />

(:value="1" geeft de waarde aan wanneer de box is aangevinkt)

Dan lees je in de pagina waar je de hele zooi met GET of POST naartoe stuurt de aangevinkte opts als volgt uit: (in voorbeeld dus POST)

foreach ($_POST["opt"] AS $opt_id => $value){
$inhoud .= $opt_id."-";
}


Waar ik de code $inhoud.= etc heb staan kun je dus ook andere dingen doen met $opt_id. $opt_id is hier dus de waarde die je "opt[hier!!]" hebt neergezet. In mijn voorbeeld zet hij alle waardes die je hebt aangevinkt in een string achter elkaar gescheiden door een "-".

Ik hoop dat je er iets aan hebt. Succes:thumb:
 
Ik heb de code een beetje herschreven
PHP:
<?php
  $sql = "SELECT id FROM data_berichten ORDER BY id";
  $res = mysql_query($sql);
?>
<html>
  <body>
    Selecteer de ID's van de te verwijderen berichten:<br>
    <form name='frmDelete' action='delete.php' method='post'>
<?php
  while($row = mysql_fetch_object($res)){
    $id=$row->id;
    echo "<input type='checkbox' name='chk" . $id . "'>" . $id . "<br>";
  }
?>
      <input type='submit' name='submit' value='Verzend'> 
    </form> 
  </body>
</html>
En dit is de "delete.php" die als action ingesteld is in het formulier van bovenstaande code.
Je zult merken dat de records nog niet verwijderd worden; enkel geselecteerde ID's worden getoond...
PHP:
<html>
  <body>
  ID's van de te verwijderen berichten:<br>
<?php
  $sleutels=array_keys($_POST);
  $aantal=count($sleutels);
  for($i=0;$i<$aantal-1;$i++){
    $id=substr($sleutels[$i],3);
    echo "$id<br>";
  }
?>
  </body>
</html>
 
@Jelmerz: Knap:thumb: jou code is technisch correcter, en bovendien veel makkelijker uit te breiden...
Het stond er echter nog niet toen ik aan mijn berichtje begon te schrijven... vandaar :rolleyes:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan