login  Naam:   Wachtwoord: 
Registreer je!
 Forum

dynamische checkboxen al dan niet selecteren (Opgelost)

Offline vinTage - 02/04/2009 00:40
Avatar van vinTageNieuw lid In een form genereer ik dynamisch een resum checkboxen.
Nu zou ik dus graag hebben, dat als je post, maar een foutmelding krijgt (op dezelfde pagina) dat de checkboxen die je aanklikt wel geselecteerd blijven.
Met onderstaande code lukt me dat dus niet 

  1. <?php
  2. $extras = mysql_query("select bericht from meuk where id = 2") or die(mysql_error());
  3. while($ex = mysql_fetch_array($extras))
  4. {
  5. $ar = explode(";", stripslashes($ex["bericht"]));
  6. foreach($ar as $a)
  7. {
  8. ?>
  9.  
  10. <?php echo $a;?><input name="extra[]" type="checkbox" value="<?php echo str_replace(" ", "_", $a);?>"<?php if(isset($_POST['extra']) &&$_POST['extra'] == str_replace(" ", "_", $a) ){echo ' checked="checked"';}?> /><br />
  11.  
  12. <?php
  13. }
  14. }
  15. ?>


in de db staat dus een rij met extras ( aap;noot:mies;kale knikker; etc )
Maar omdat ik die rij makkelijk wil kunnen aanpassen updaten, zonder heel het invoerform ook te moeten veranderen, en de insert query etc, prop ik dus die checkboxjes in een array.

Nu als ik die extra echo, geeft hij wel netjes mn aangeklikte opties weer, maar hij onhoud ze niet (selected="selected" werkt dus niet)

iemand die ziet wat ik fout doe?

cheers (en goede nacht )

3 antwoorden

Gesponsorde links
Offline Rens - 02/04/2009 00:43
Avatar van Rens Gouden medaille

Crew algemeen
extra is een array, dus $_POST['extra'] bevat niet wat jij wilt vergelijken.
Je zult door $_POST['extra'] heen moeten lopen om te kijken of die checkbox al dan niet aangevinkt is op het moment van posten.
Offline Koen - 02/04/2009 00:49
Avatar van Koen PHP expert $_POST['extra'] is een array, dus die kan je moeilijk met een string gaan vergelijken 
  1. <?php
  2. $extras = mysql_query("select bericht from meuk where id = 2") or die(mysql_error());
  3. $iNum = 0;
  4. while($ex = mysql_fetch_array($extras))
  5. {
  6. $ar = explode(";", stripslashes($ex["bericht"]));
  7. foreach($ar as $a)
  8. {
  9. ?>
  10.  
  11. <?php echo $a;?><input name="extra[<?php echo $iNum; ?>]" type="checkbox" value="<?php echo str_replace(" ", "_", $a);?>"<?php if(isset($_POST['extra'][$iNum]) &&$_POST['extra'][$iNum] == str_replace(" ", "_", $a) ){echo ' checked="checked"';}?> /><br />
  12.  
  13. <?php
  14. $iNum++;
  15. }
  16. }
  17. ?>


Werkt zoiets? 
Offline vinTage - 02/04/2009 17:44
Avatar van vinTage Nieuw lid Beide juist 

Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.211s