login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Twee checkbox per rij gebruiken in verwerking

Offline avancleef - 28/02/2011 01:11
Avatar van avancleefNieuw lid Beste,

Ik heb de volgende code

  1. <?php
  2. $query = mysql_query('SELECT id, character_name FROM dkp_member_statistics
  3. ORDER BY character_name ASC');
  4. while($fetch = mysql_fetch_assoc($query))
  5. {
  6. echo '<tr><td style="border-bottom:1px dotted">'.$fetch['character_name'].'</td><td style="border-bottom:1px dotted"><input type="checkbox" name="normal[]" id="normalpoints" value="'.$fetch['id'].'" /></td><td style="border-bottom:1px dotted"><input type="checkbox" name="early[]" id="earlypoints" value="'.$fetch['id'].'" /></td></tr>';
  7. }
  8. ?>


Nu wil ik dus met een foreach kijken wie een x-aantal punten krijgt.

  1. foreach($_POST['normal'] as $id)
  2. {
  3. // check if they get extra to
  4.  
  5.  
  6. echo $id.' gets 5 points<br />';
  7. }


Werkt dan perfect, MAAR hoe kan ik nu kijken of ze de 2e checkbox ook aangevinkt hebben voor één extra punt?

Krijg het niet voor elkaar!

Groetjes

3 antwoorden

Gesponsorde links
Offline WouterJ - 28/02/2011 15:13
Avatar van WouterJ HTML gevorderde Dat kan je doen door te kijken of de name geset is (PHP.net: isset). Voorbeeldje:
  1. <?php
  2. if($_SERVER['REQUEST_METHOD'] == 'POST') {
  3. if(isset($_POST['zetIetsAan'])) {
  4. echo 'Je hebt <strong>iets</strong> aangezet!';
  5. }
  6. elseif(isset($_POST['zetWatAan'])) {
  7. echo 'Je hebt <strong>wat</strong> aangezet!';
  8. }
  9. else {
  10. echo 'Je hebt <strong>niks</strong> aangezet. :(';
  11. }
  12. }
  13. ?>
  14. <form action="" method="post">
  15. <input type="checkbox" name="zetIetsAan">Zet Iets Aan<br />
  16. <input type="checkbox" name="zetWatAan">Zet Wat Aan<br />
  17. </form>


En van de rest is het goed om goede foutafhandeling in te bouwen.
En een naam van een veld met [] lijkt me niet heel praktisch.
Offline avancleef - 28/02/2011 18:15
Avatar van avancleef Nieuw lid dan kijkt hij maar naar één veld als je geen [] gebruikt want het is geen array meer, dus ik MOET wel een foreach gebruiken want ik heb 30 leden, en per lid wil ik kunnen zeggen (checkbox 1) hij was er, en checkbox 2 of hij extra punten krijgt
Offline Oneday - 28/02/2011 20:11 (laatste wijziging 28/02/2011 20:12)
Avatar van Oneday Nieuw lid Ik heb 't niet getest, maar probeer zo eens?
  1. $earlyarray = array();
  2. foreach($_POST['early'] as $id)
  3. {
  4. $earlyarray[] = $id;
  5. }
  6. foreach($_POST['normal'] as $id)
  7. {
  8. // check if they get extra to
  9.  
  10. echo $id.' gets 5 points<br />';
  11. if (in_array($id,$earlyarray))
  12. {
  13. echo $id.'gets an extra point<br />';
  14. }
  15. }
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.213s