dropdown list vraag

Status
Niet open voor verdere reacties.

weswillem

Gebruiker
Lid geworden
8 nov 2011
Berichten
310
ben nu twee dagen mee bezig om de gekozen waarde er uit te krijgen. Maar wat ik ook probeer, het lukt mij niet.
de bedoeling is dat de waarde meegenomen wordt naar een andere pagina waarna deze met andere gegevens
opgeslagen wordt.
Ik heb wel een dropdown list die werkt en deze wordt gevuld vanuit de DB.
Maar deze krijg ik niet aan de praat, diverse forums afgelopen en uitgeprobeerd, maar helaas.
Om teneinde hier maar mijn vraag te stellen en code te plaatsen.

PHP:
echo '<tr><td><font color=white>Kies de tijd:</font></td><td>';
$array = array("10:00-11:00", "11:00-12:00", "12:00-13:00", "13:00-14:00", "14:00-15:00", "15:00-16:00", "16:00-17:00", 
"17:00-18:00", "18:00-19:00", "19:00-20:00", "20:00-21:00", "21:00-22:00" );
//  $d = date("n");
//echo $array[$d];
echo'<form action="" method="post">'; 
echo '<select name="uren" id="uren>';
echo '<option value="">Select...</option>';
for ($i = 0; $i < count($array); $i++) {
    if ($_GET['uren'] == $array[$i]){
		  $selected = 'selected="selected"';
          }else{
            $selected='';            
          }	
	echo '<option value="' . $i . '">'.$array[$i].'';
	echo '</option>';
}
echo '</select>'; 
 echo'</form>';
$_SESSION['tijden']=$array[$i];
 
Laatst bewerkt:
Wat lukt er niet aan?
 
Bestaat je GET parameter wel?
 
Misschien zou je hier iets aan moeten doen
Code:
id="uren>';

<font color=white> is vervallen. Zet in de style(sheet)
Code:
table td { color: white; }
 
Laatst bewerkt:
Na een aantal dagen stoeien, heb ik wel wat.
Hij geeft alleen een index nummertje terug.
Maar niet de tekst, wat doe ik hierin fout.
Alles ter lering.

PHP:
echo '<tr><td><font color=white>Kies de tijd:</font></td><td>';
    $array = array("10:00-11:00", "11:00-12:00", "12:00-13:00", "13:00-14:00", "14:00-15:00", "15:00-16:00", "16:00-17:00", 
                   "17:00-18:00", "18:00-19:00", "19:00-20:00", "20:00-21:00", "21:00-22:00" );
    echo '<select name="uren">';
    echo '<option value="">Select...</option>';
    for ($i = 0; $i < count($array); $i++) {
        if ($_POST['uren'] == $array[$i]){
		  $selected = 'selected="selected"';
          }else{
            $selected='';            
          }	
	       echo '<option value="' . $i . '">';
	           echo $array[$i];
            echo '</option>';	
    }
echo '</select>';
 
Het lijkt mij handig om eerst je html in orde te hebben voordat je php er omheen bouwt.
Code:
<table>
<tr>
  <td>
    <span style="color:white">Kies de tijd:</span>
  </td>
  <td>
    <select name="uren">
      <option value="">Select...</option>
      <option value="10:00-11:00">10:00-11:00</option>
      <option value="11:00-12:00" selected="selected">11:00-12:00</option>
      <option value="12:00-13:00">12:00-13:00</option>
      ....
      <option value="21:00-22:00">21:00-22:00</option>
    </select>
  </td>
</tr>
</table>
 
Laatst bewerkt:
Maar dit was ook de vraag niet. Het is maar een uitgeknipt stukje uit de code.
 
Dit was de vraag wel want het antwoord op je vraag vind je in <option value="..........">

Waar gebruik je dit stukje, het staat nergens in een <option ....>
Code:
if ($_POST['uren'] == $array[$i]){
    $selected = ' selected="selected"';
}else{
    $selected = '';
}
 
Laatst bewerkt:
Dus ik heb je script vrij snel bekeken en enkel je loop bekeken om ik denk dat daar het probleem lag
Code:
foreach ($array as $i=>$value) {
        if ($_POST['uren'] == $i){//dit was $array[$i] maar ik denk dat je dus niet de value zal krijgen maar de key
          $selected = 'selected="selected"';
          }else{
            $selected='';            
          } 
           echo '<option value="' . $i . '" '.$selected.'>'. $value.'</option>';   
    }

Ik ga ervanuit dat je die er wel tussen krijgt. Ik zie wel de evolutie verder
 
Laatst bewerkt:
@bron
mijn excuses voor mijn antwoord. Ben al 5 dagen bezig geweest met dit item en probeer het probleem
te vertalen naar de forumleden. Is nogal moeilijk.
Maar ik laat me niet uit het veld slaan door code's, ik vind het uitdaging om het vinden.
Die van jou werkt ook, maar in een ander project had ik dit en kwam daar ook niet uit.
Maar ja soms lukt het niet en ga je er mee naar bed en sta je er mee op. Haha.
En dan vraag ik hulp, maar toch bedankt voor het advies

bij deze de werkende code met dank aan @kenikavanbis:

PHP:
$array = array("1" =>"10:00-11:00", "2" =>"11:00-12:00", "3" =>"12:00-13:00", "4" =>"13:00-14:00", "5" =>"14:00-15:00", "6" =>"15:00-16:00", 
"7" =>"16:00-17:00", "8" =>"17:00-18:00", "9" =>"18:00-19:00", "10" =>"19:00-20:00", "11" =>"20:00-21:00", "12" =>"21:00-22:00" );
 echo '<select name="uren">';
 foreach ($array as $i=>$value) {
        if ($_POST['uren'] == $value){//dit was $array[$i] maar ik denk dat je dus niet de value zal krijgen maar de key
          $selected = 'selected="selected"';
          }else{
            $selected='';            
          } 
           echo '<option value="' . $value . '" '.$selected.'>'. $value.'</option>';   
    }
 echo '</select>';
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan