Automatische Vorselektion einer Option einer Auswahlliste

devconproductions

Grünschnabel
Ich will gerne bei einem Drop Down Menü einen Wert vorselektiert haben, dabei gehe ich so vor das ich ein Array mit mehreren Werte habe und einen Wert aus der DB auslese.

Wenn diese übereinstimmen dann soll der Wert des select feldes mittels selected=selected vorselektiert werden.
Nur leider geht das nur bedingt. Er selektiert den Wert vor zeigt dann aber nicht mehr die anderen an. Hier der Quelltext. Hinweis: die Variable vergl ist die wo der Wert der DB kommt, habe dies der einfachheit halber so gemacht. Hat jemand die zündende Idee wo mein Fehler ist?
Code:
<?

$select=$Connection->query("SELECT * FROM firmcustomers WHERE fname='devconproductions'"); 
$array=array("Deutschland","England","Spanien","Österreich","Frankreich","Schweiz");
?>
<html>
<head><title></title></head>

<body>

<form name="ass" method="post" action="dropdown.php"> 
<select name="land">
<?
	for ($i=0;$i<count($array);$i++)
	{	
		$vergl = "Frankreich";
		if ($vergl==$array[$i]) 
		{
			$m = "selected=\"selected\"";
			echo "<option ".$m.">$array[$i]</option>";
		}
	}
?>
</select>
</form>

</body>
</html>
 
PHP:
<?php
    $select=$Connection->query("SELECT * FROM firmcustomers WHERE fname='devconproductions'"); 
    $array=array('Deutschland','England','Spanien','Österreich', 'Frankreich', 'Schweiz');
?>
<html>
<head><title></title></head>

<body>

<form name="ass" method="post" action="dropdown.php"> 
<select name="land">
<?php
	for ($i=0;$i<count($array);$i++){	
		$vergl = 'Frankreich';
		if ($vergl==$array[$i]){
			$m = 'selected="selected"';
			echo '<option '.$m.'>'.$array[$i].'</option>';
		} else {
            echo '<option>'.$array[$i].'</option>';
		}
	}
?>
</select>
</form>

</body>
</html>

Der Fehler lag darin, dass nur was ausgegeben wurde, wenn der Wert aus dem Array gleich dem Vergleichs Wert war.
 
Zuletzt bearbeitet:
Zurück