login  Naam:   Wachtwoord: 
Registreer je!
 Forum

keuzelijst

Offline tbk - 01/05/2006 21:11
Avatar van tbkPHP beginner men steekt met volgend formulier 1 van deze waarden in een database:
  1. <select name="jaar">
  2. <option value="leeg">-maak u keuze-</option>
  3. <option value="Alle jaren">alle jaren</option>
  4. <option value="1ste jaar">1ste jaar</option>
  5. <option value="2de jaar">2de jaar</option>
  6. <option value="3de jaar">3de jaar</option>
  7. <option value="4de jaar">4de jaar</option>
  8. <option value="5de jaar">5de jaar</option>
  9. <option value="6de jaar">6de jaar</option>
  10. <option value="1ste graad">1ste graad</option>
  11. <option value="2de graad">2de graad</option>
  12. <option value="3de graad">3de graad</option>
  13. </select>


als men nog deze keuze wilt veranderen, opent men de pagina bewerk.php, en deze zou uit de database die waarde moeten ophalen en standaard geselecteerd moeten stellen,

ik dacht aan een if else functie in elke optie, maar is er geen makkelijkere weg?

15 antwoorden

Gesponsorde links
Offline vinTage - 01/05/2006 21:14
Avatar van vinTage Nieuw lid
  1. <option value="<?$waarde_uit_db?>" selected="selected"><?$waarde_uit_db?></option>
Offline tbk - 01/05/2006 21:17 (laatste wijziging 01/05/2006 21:18)
Avatar van tbk PHP beginner ik denk dat je het niet goed verstaat, hij moet de ene standaard geselecteerd (die ene waarde uit de database) staan en die andere moete nog altijd in de keuzelijst staan hé
Offline vinTage - 01/05/2006 21:18 (laatste wijziging 01/05/2006 21:21)
Avatar van vinTage Nieuw lid
  1. <select name="jaar">
  2. <option value="<?=$waarde_uit_db?>" selected="selected"><?=$waarde_uit_db?></option>
  3. <option value="Alle jaren">alle jaren</option>
  4. <option value="1ste jaar">1ste jaar</option>
  5. <option value="2de jaar">2de jaar</option>
  6. <option value="3de jaar">3de jaar</option>
  7. <option value="4de jaar">4de jaar</option>
  8. <option value="5de jaar">5de jaar</option>
  9. <option value="6de jaar">6de jaar</option>
  10. <option value="1ste graad">1ste graad</option>
  11. <option value="2de graad">2de graad</option>
  12. <option value="3de graad">3de graad</option>
  13. </select>


:o


edit, de = vergeten 
Offline tbk - 01/05/2006 21:22
Avatar van tbk PHP beginner mijn fout ik zal het verkeerd uitgelegde hebben.

stel in mijn database heb ik ooit de waarde 4de jar opgegeven wia een invulformulier met deze keuzelijst, wat late rduw ik op de knop bewerk omdat ik graag de 2de graad had geselecteerd. Dus de pagina laat alle waarde in nde invulvelden maar hij stelt in alle kezue lijsten een waarde standaard in, hier 4de jaar want dit stond in de database...
Offline vinTage - 01/05/2006 21:24
Avatar van vinTage Nieuw lid Het zal aan mij liggen, OF ik snap je nog steeds niet, OF mn oplossing hierboven is gewoon goed....

Als je die dropmenu gebruikt die ik je geef kan je het toch gewoon aanpassen ?

Je moet alleen via een query die $waarde_uit_db bepalen.
Offline tbk - 01/05/2006 21:29 (laatste wijziging 01/05/2006 21:29)
Avatar van tbk PHP beginner ja maar dan zal er in mijn dropdown menu 2keer dezelfde waarde staan hé
Offline vinTage - 01/05/2006 21:29
Avatar van vinTage Nieuw lid aaaaaah, ja das waar 
Offline Button - 01/05/2006 21:31 (laatste wijziging 01/05/2006 21:31)
Avatar van Button PHP ver gevorderde Ja vinTage zoals jij doet, zou het gaan maar dan heb je wel twee keer dezelfde waarde in de lijst staan.


edit: ik ben precies te laat
Offline tbk - 01/05/2006 21:35
Avatar van tbk PHP beginner weet iemand hoe het wel moet?

eerst dacht ik aan een if else functie waarbij hij elke optie test of hij overeen komt met die ene waarde, indien ja selected="selected"
Offline Ibrahim - 01/05/2006 22:04
Avatar van Ibrahim PHP expert ik wist wel dat ik een topic had gestart vroeger over dit:

Link
Offline Gerard - 01/05/2006 23:05
Avatar van Gerard Ouwe rakker
  1. <?php
  2. function buildOption($sValue, $sDisplay, $sCompare = '') {
  3. return '<option value="' . $sValue . '"' . ($sValue == $sCompare ? ' selected="selected"' : '') . '>' . $sDisplay . '</option>'."\n";
  4. }
  5.  
  6. $aUsers = array(1 => 'Proximus',
  7. 2 => 'Murfy',
  8. 3 => 'vinTage',
  9. 4 => 'nemesiskoen',
  10. 5 => 'Ontani');
  11.  
  12. $iSelectedUserId = 3;
  13. ?>
  14. <select>
  15. <?php
  16. foreach ($aUsers as $iUserId => $sUsername)
  17. {
  18. echo buildOption($iUserId, $sUsername, $iSelectedUserId);
  19. }
  20. ?>
  21. </select>
Offline Button - 02/05/2006 07:14 (laatste wijziging 02/05/2006 07:34)
Avatar van Button PHP ver gevorderde in dat topic dat siliecom14 doorgaf, ziet Fangorn zijn script er goed uit.
@Proximus: waarom set je $sCompare='' ? moet die normaal niet de waarde van $iSelectedUserId blijven behouden ? Hoe ga je anders juist kunnen vergelijken als de $sCompare geen waarde heeft? (heb ik iets over het hoofd gezien?)
Offline Ibrahim - 02/05/2006 07:59
Avatar van Ibrahim PHP expert de $sCompare heeft standaard waarde '' (niks dus)

bij de aanroep functie wordt ie dan veranderd in wat je hebt ingevuld
Offline tbk - 02/05/2006 18:29 (laatste wijziging 02/05/2006 18:38)
Avatar van tbk PHP beginner wel ik moet zeggen dat ik je scriptje me weer heeft verbaasd, het werkt perfect alhoewel ik er niets van snap...

is er een mogelijkheid dat iemand uitlegt wat het allemaal betekent
Offline Gerard - 02/05/2006 20:17 (laatste wijziging 02/05/2006 20:19)
Avatar van Gerard Ouwe rakker @ButtonMan

Omdat je dan de functie ook kan gebruiken om een select menu aan te maken zonder dat je een standaard waarde selecteerd. Bijvoorbeeld in een registratieform met dagen/maanden/jaren voor geboortedatum.

edit Houdt dus in dat je deze functie ook kan aanroepen als:
buildOption('waarde1', 'waarde2');

Hij neemt dan standaard voor het 3de argument een lege string
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.215s