Alphabet in Selectbox darstellen

Schmitt-Y

Grünschnabel
Ich möchte das Alphabet (A-Z) in einer Selectbox darstellen. Leider funktioniert es mit dem vorhandenen Code nicht so, wie es soll.

Entweder wird mir mehrmals nur das Z ausgegeben oder mehrmals nacheinander das komplette Alphabet :confused:

PHP:
$query = "SELECT name FROM tabelle";
$result = mysql_query($query) or die("Anfrage fehlgeschlagen: " . mysql_error());
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">';
echo '<select name="buchstabe" size="1">';
	while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
    {
	for ($i=65;$i<=90;$i++) {
    $buchstabe=chr($i);
	}
	echo '<option value='.$row["name"].'>'.$buchstabe.'</option>';
	}
echo '</select>';
echo '<input type="submit" value="Go">'; 
echo '</form>';
 
Ich versuche zu realisieren, dass die Datenbankeinträge nach Anfangsbuchstaben sortiert und angezeigt werden.

Über die Selectbox soll der User einen Buchstaben des Alphabets wählen (z. B. A) und bekommt dann alle Einträge mit A ausgegeben.
 
PHP:
<?PHP
$B = range("A", "Z");
echo '<select name="buchstabe" size="1"><option value="0">Bitte Buchstaben auswählen';
for($c=0;$c<count($B);$c++) {
    echo '<option value="'.$B[$c].'">'.$B[$c];
}
echo '</select>';
?>

sollte gehen

LG pHyro
 
Zuletzt bearbeitet:
Das funktioniert wunderbar. Danke!

Eine Frage habe ich noch. Das "Bitte Buchstaben auswählen“ soll ja nur eine Information darstellen. Deshalb ja auch value=“0“. Wenn ich jetzt den Submit-Button anklicke, wird die 0 mit übergeben. Wie kann ich das verhindern?

Ich möchte also erreichen, dass wenn value=“0“ – dann keine Aktion durchführen – ansonsten variable übergeben.

Wie kann/muss ich das in den vorhandenen Code einbinden?
 
Tja. Du könntest das erst einmal mit Javascript prüfen. Und dann ist es doch egal, ob der Wert gesendet wurde oder nicht - einfach auf PHP-Seite gukcne, ob der Wert 0 ist, und dann nichts machen..
 
JS möchte ich nicht unbedingt einsetzen. Das müsste doch auch mit PHP gehen, oder?

if(value == 0) ...

Leider weiß ich nicht weiter. Vielleicht kann mir jemand helfen. Danke!
 
Zurück