hoi allen,

ik heb de volgende code welke een array uitleest en deze in een selectbox zet in een form.
Op 1 of andere manier gaat het niet helemaal goed.
Hij laat in de selectbox alleen de eerste letters van de values van de array zien!
Wat doe ik fout.. zit hier inmiddels al weer een uur te turen naar deze code


<?
$status  = array();
$status[0] = 'Nieuwe bestelling';
$status[1] = 'Betaald';
$status[2] = 'Betaald en verzonden';
$status[3] = 'Geweigerd';
$status[4] = 'Betaling Ontvangen';
$status[5] = 'Geannuleerd';
?>
		
<form method="post" action="main.php">
<select name="status_order" id="status_order" onchange="this.form.submit();" >
<?
$teller = 0;
$s = '';
while ($teller <> 5)
{
  if ($status[$teller] == $row[0])
     $s = 'selected';
  else
     $s = '';
		
echo '<option value="'.$status[$teller].'" '.$s.'>'.$status[$teller].'</option>';
$teller++;
}
?>
</select> 
</form>


de $row komt uit een database... welke boven dit script wordt aangeroepen.
wanneer ik naar de bron kijk van de source in ie zie ik dit :


<select name="status_order" id="status_order" onchange="this.form.submit();" >
<option value="N" >N</option><option value="B" >B</option><option value="B" >B</option><option value="G" >G</option><option value="B" >B</option>		</select> 
Mag ik de volledige code van dit stukje?

Edit
<?
$status  = array();
$status[] = 'Nieuwe bestelling';
$status[] = 'Betaald';
$status[] = 'Betaald en verzonden';
$status[] = 'Geweigerd';
$status[] = 'Betaling Ontvangen';
$status[] = 'Geannuleerd';
?>
        
<form method="post" action="main.php">
<select name="status_order" id="status_order" onchange="this.form.submit();" >
<?
foreach($status AS $value)
{
	echo '<option value="'.$value.'"'.($row[0] == $value ? ' selected="selected"' : '').'>'.$value.'</option>';
}
?>
</select> 
</form>


Probeer dat eens.
Ik heb mijn eigen script op ander browsers getest... en daar werkt het wel..
in firefox als ie8 werkt het gewoon ... wat is er dan fout aan mijn script ?


Dennis Mertens schreef op 18.03.2009 15:39
Mag ik de volledige code van dit stukje?

Edit
<?
$status  = array();
$status[] = 'Nieuwe bestelling';
$status[] = 'Betaald';
$status[] = 'Betaald en verzonden';
$status[] = 'Geweigerd';
$status[] = 'Betaling Ontvangen';
$status[] = 'Geannuleerd';
?>
        
<form method="post" action="main.php">
<select name="status_order" id="status_order" onchange="this.form.submit();" >
<?
foreach($status AS $value)
{
	echo '<option value="'.$value.'"'.($row[0] == $value ? ' selected="selected"' : '').'>'.$value.'</option>';
}
?>
</select> 
</form>


Probeer dat eens.
Het is sowieso selected="selected" en niet alleen selected. Dat is ouderwets :)

Edit
Gooi $status eens door [php]print_r[/php](), wat is het resultaat?

Reageren