login  Naam:   Wachtwoord: 
Registreer je!
 Forum

multiple select controle (Opgelost)

Offline Thijs - 22/06/2007 11:36
Avatar van ThijsCrew hosting Ik ben bezig met een agenda te maken met de mogelijkheid om meerdere medewerkers te kunnen selecteren waarvoor de activiteit geld.

Het selecteren van meerdere medewerkers gaat goed echter als de pagina dan refresht i.v.m. het kiezen van een datum/template zijn de eerder gekozen medewerkers niet allemaal meer geselecteerd.

Ik gebruik de volgende code:
  1. echo "<tr class='row2'><td width='10'></td><td>Medewerker(s) :</td><td colspan='3'>";
  2. echo "<select name='medewerker[]' multiple='multiple'>";
  3.  
  4. $sql = "SELECT * FROM gebruiker ORDER BY medewerker ASC";
  5. $resultaat = mysql_query($sql) or die(mysql_error());
  6.  
  7. $rows = mysql_num_rows($resultaat);
  8.  
  9. if (isset($_POST['medewerker']))
  10. {
  11. for($a = 0; $record = mysql_fetch_assoc($resultaat); $a++)
  12. {
  13. if (($_POST['medewerker'][$a]) == ($record['medewerker']))
  14. {
  15. echo "<option value='" . $_POST['medewerker'][$a] . "' selected>" . $_POST['medewerker'][$a] . "</a>";
  16. }
  17. else
  18. {
  19. echo "<option value='" . $record['medewerker'] . "'>" . $record['medewerker'] . "</option>";
  20. }
  21. }
  22. }
  23.  
  24. echo "</select>";


Heeft iemand een idee hoe ik ervoor kan zorgen dat bij een pagina refresh de geselecteerde medewerkers geselecteerd blijven en de overige als normaal in de selectbox komen?

Alvast bedankt voor het meedenken en de hulp!

PS. deze methode gaat overigens wel bij andere formulier attributen alleen niet bij deze multiple select.

2 antwoorden

Gesponsorde links
Offline smoos - 22/06/2007 12:04 (laatste wijziging 22/06/2007 12:04)
Avatar van smoos PHP gevorderde Dit zou moeten werken, uit de losse hand geschreven dus niet getest
  1. <?php
  2. <tr class="row2">
  3. <td width="10"></td>
  4. <td>Medewerker(s) :</td>
  5. <td colspan="3">
  6. <select name="medewerker[]" multiple="multiple">';
  7.  
  8. $sql = "SELECT id, naam FROM gebruiker ORDER BY medewerker ASC";
  9. $resultaat = mysql_query($sql) or die(mysql_error());
  10. while($assoc = mysql_fetch_assoc($resultaat)){
  11. echo '<option value="'.$assoc['id'].'" '.(isset($_POST['medewerker']) && in_array($assoc['id'], $_POST['medewerker']) ? 'selected="selected"' : '').'>'.$assoc['naam'].'</option>';
  12. }
  13. echo '</select>';
  14. ?>
Offline Thijs - 22/06/2007 12:23
Avatar van Thijs Crew hosting Enorm bedankt, daarmee kom ik uit de voeten!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.176s