login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Dropdown met een nog een extra check

Offline tychon - 16/11/2009 11:55 (laatste wijziging 16/11/2009 11:57)
Avatar van tychonNieuw lid Heey allemaal,

Ik heb de volgende code geschreven:

  1. <?php
  2. echo'<select name="artdirector" id="artdirector">';
  3. $sqlc = mysql_query("SELECT * FROM Werknemers ORDER BY Voornaam ASC")or die( mysql_error() );
  4. $sq = mysql_query("SELECT * from Orders WHERE Order_ID = '".$_GET['order_id']."' ")or die( mysql_error() );
  5. $resul = mysql_fetch_array($sq);
  6.  
  7. while($resultc = mysql_fetch_array($sqlc)){
  8. if(in_array($resul['ArtDirector_ID'],$resultc,true)){
  9. echo'<option value="'.$resultc['Werknemer_ID'].'" SELECTED>'.$resultc['Voornaam'].'</option>';}
  10. else{
  11. echo '<option value="'.$resultc['Werknemer_ID'].'">'.$resultc['Voornaam'].'</option>';}
  12. }
  13. echo'</select>';
  14. ?>


Nu moet er nog een check inkomen, en dat is:
- Wanneer 'ArtDirector_ID' leeg is dan moet de volgende code worden weergeven:
  1. print('<option value="leeg" SELECTED>-</option>');


Dus dan is 'leeg' geselecteerd, maar de rest van de resultaten( die uit de loop komen) moeten er wel onder worden geprint.

Ik hoop dat jullie het begrijpen, zo niet dan hoor ik het graag 

Thanks alvast 

6 antwoorden

Gesponsorde links
Offline jaronneke - 16/11/2009 11:58
Avatar van jaronneke MySQL interesse in de while controleren ofdat het leeg is , dit kan je doen met
  1. !empty($jestring['jewaarde'])
Offline tychon - 16/11/2009 12:20 (laatste wijziging 16/11/2009 12:21)
Avatar van tychon Nieuw lid
jaronneke schreef:
in de while controleren ofdat het leeg is , dit kan je doen met
[..code..]


Ik heb nu dit:
  1. <?php
  2. echo'<select name="artdirector" id="artdirector">';
  3. $sqlc = mysql_query("SELECT * FROM Werknemers ORDER BY Voornaam ASC")or die( mysql_error() );
  4. $sq = mysql_query("SELECT * from Orders WHERE Order_ID = '".$_GET['order_id']."' ")or die( mysql_error() );
  5. $resul = mysql_fetch_array($sq);
  6.  
  7. //print('<option value="leeg" SELECTED>-</option>');
  8. while($resultc = mysql_fetch_array($sqlc)){
  9.  
  10. if(empty($resultc['ArtDirector_ID'])){
  11. print('<option value="leeg" SELECTED>-</option>');
  12. }
  13.  
  14. if(in_array($resul['ArtDirector_ID'],$resultc,true)){
  15. echo'<option value="'.$resultc['Werknemer_ID'].'" SELECTED>'.$resultc['Voornaam'].'</option>';}
  16. else{
  17. echo '<option value="'.$resultc['Werknemer_ID'].'">'.$resultc['Voornaam'].'</option>';}
  18. }
  19. echo'</select>';
  20. ?>


Maar dan krijg ik de volgende resultaten:
  1. <option selected="" value="leeg">-</option>
  2. <option value="1052">Annebeth</option>
  3. <option selected="" value="leeg">-</option>
  4. <option value="1060">Bob</option>
  5. <option selected="" value="leeg">-</option>
  6. <option value="1057">Carola</option>
  7. <option selected="" value="leeg">-</option>
  8. <option value="1048">Elco</option>
  9. <option selected="" value="leeg">-</option>
  10. <option value="1047">Eveline</option>


Dit klopt niet want leeg moet maar een keer bovenaan worden weergegeven.
Offline Abbas - 16/11/2009 12:30
Avatar van Abbas Gouden medaille

Crew .NET
Doe eens een if voor je while om te kijken of je wel resultaten hebt en zoniet dan schrijf je die "leeg"-value.
Offline tychon - 16/11/2009 13:46 (laatste wijziging 16/11/2009 13:47)
Avatar van tychon Nieuw lid Ik heb de code nu aangepast, alleen zie ik dat die meerdere resultaten selecteerd. Weet iemand hoe dit kan? Zie hieronder de code:
  1. <?php
  2. echo'<select name="artdirector" id="artdirector">';
  3. $sqlc = mysql_query("SELECT * FROM Werknemers ORDER BY Voornaam ASC")or die( mysql_error() );
  4. $sq = mysql_query("SELECT * from Orders WHERE Order_ID = '".$_GET['order_id']."' ")or die( mysql_error() );
  5. $resul = mysql_fetch_array($sq);
  6.  
  7. //print('<option value="leeg" SELECTED>-</option>');
  8. if(empty($resultc['ArtDirector_ID'])){
  9. print('<option value="leeg" selected="selected">-</option>');
  10. }
  11. while($resultc = mysql_fetch_array($sqlc)){
  12. if(in_array($resul['ArtDirector_ID'],$resultc,true)){
  13. echo'<option value="'.$resultc['Werknemer_ID'].'" selected="selected">'.$resultc['Voornaam'].'</option>';}
  14. else{
  15. echo '<option value="'.$resultc['Werknemer_ID'].'">'.$resultc['Voornaam'].'</option>';}
  16. }
  17. echo'</select>';
  18. ?>
Offline Abbas - 16/11/2009 14:32
Avatar van Abbas Gouden medaille

Crew .NET
Je moet die while dan ook enkel doen als er wel resultaten zijn. Nu ga je dat "leeg"-item toevoegen en daarna sowieso de andere.
Offline tychon - 16/11/2009 16:14 (laatste wijziging 16/11/2009 16:16)
Avatar van tychon Nieuw lid @titjes: Ik snap niet echt wat je bedoeld. Die WHILE is nu ook enkel, deze loopt mijn query na. En in de WHILE zit een IF, deze checkt of er al een ArtDirector_ID is ingevult, en is dit het geval dan moet deze ArtDirector worden geselecteerd. Maar wat er nu gebeurd is dat er meerdere ArtDirectors de code SELECTED krijgen, en dat is niet juist.
Zie hieronder de output van de lijst:

  1. <option selected="selected" value="leeg">-</option>
  2. <option value="1052">Sjaak</option>
  3. <option value="1060">Bob</option>
  4. <option value="1057">Piet</option>
  5. <option value="1048">Cees</option>
  6. <option value="1047">Eveline</option>
  7. <option selected="selected" value="1032">Werknemer1</option>
  8. <option selected="selected" value="1018">Bernard</option>
  9. <option value="1059">Anne</option>
  10. <option value="1056">Koen</option>
  11. <option selected="selected" value="1028">Joop</option>
  12. <option value="1043">Paul</option>
  13. <option value="1023">Pim</option>
  14. <option value="1026">Femke</option>
  15. <option value="1024">Sharon</option>
  16. <option value="1058">Wim</option>
  17. <option selected="selected" value="1051">Vincent</option>


In de database staat er in het veld van 'ArtDirector_ID' de tekst 'NULL'.

DUS: In bovenstaand lijstje moet alleen in dit geval 'Leeg' worden geselecteerd en de rest van de ArtDirectors niet. Hoe doe ik dit? Zie de code die ik al heb in bovenstaande posts.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.238s