Hallo,
Wer vor der Problematik steht, ein Drop Down Menü aus einer Text-Datenbank erstellen zu wollen und dies auch noch alphabetisch sortiert bekommen möchte, kann dies ohne erst die Text-Datenbank durchsortieren und neu schreiben lassen zu müssen, über das weiter unten angeführte Skript erreichen.
Es wird hierbei aus der angegebenen Text-Datenbank jeweils der erste Eintrag einer Zeile ausgewählt, anschließend sortiert und daraus ein Menü zusammengestellt, was hier alphabetisch sortiert wird - erfahrungsgemäß von Vorteil, wenn mehr als 10 Datenbankeinträge vorhanden sind, da es leicht unübersichtlich wird.
Hierzu wird die Datei Zeile für Zeile ausgelesen, dann über explode am Trennzeichen zerlegt, der jeweils erste Eintrag aus der Zeile in ein großes Array gegeben, dieses wird über asort sortiert und über eine foreach-Schleife wieder ausgegeben und als Optionen untereinander angeordnet.
Der Vollständigkeit halber will ich noch die "test.txt" hier anhängen:
Die ist nämlich ganz und garnicht sortiert - dennoch wird das Drop Down Menü sortiert sein.
Vielen Dank an alle, die dabei Pate gestanden haben, dass dies entstehen konnte und viel Spaß damit an alle, die es mal ausprobieren wollen.
Wer vor der Problematik steht, ein Drop Down Menü aus einer Text-Datenbank erstellen zu wollen und dies auch noch alphabetisch sortiert bekommen möchte, kann dies ohne erst die Text-Datenbank durchsortieren und neu schreiben lassen zu müssen, über das weiter unten angeführte Skript erreichen.
Es wird hierbei aus der angegebenen Text-Datenbank jeweils der erste Eintrag einer Zeile ausgewählt, anschließend sortiert und daraus ein Menü zusammengestellt, was hier alphabetisch sortiert wird - erfahrungsgemäß von Vorteil, wenn mehr als 10 Datenbankeinträge vorhanden sind, da es leicht unübersichtlich wird.
Hierzu wird die Datei Zeile für Zeile ausgelesen, dann über explode am Trennzeichen zerlegt, der jeweils erste Eintrag aus der Zeile in ein großes Array gegeben, dieses wird über asort sortiert und über eine foreach-Schleife wieder ausgegeben und als Optionen untereinander angeordnet.
PHP-Code:
<form action="uebung3.php" method="post">
<select name="vorname" onChange="this.form.submit();">
<option>Auswahl</option>
<?php
$variable = file("test.txt");
$uebertrag = array();
foreach ($variable as $zeile)
{
$term = explode("|", $zeile);
array_push ($uebertrag, $term[0]);
}
asort ($uebertrag);
foreach ($uebertrag as $term)
{
echo "<option>". $term ."</option>";
}
?>
Der Vollständigkeit halber will ich noch die "test.txt" hier anhängen:
Code:
Maik|HoenXXX|03042 Kerstin|LaXXX|03050 Heinz|KoXXXt|03096 Udo|RotXXXel|03050 Frank|ScXXXer|99338 Steffi|KoXXXt|25332 Marlies|HoXXXke|03044 Jörg|SaXXXXni|03053 Marcel|SaXXXni|03053 Thomas|ZiXXXl|99410
Vielen Dank an alle, die dabei Pate gestanden haben, dass dies entstehen konnte und viel Spaß damit an alle, die es mal ausprobieren wollen.
Kommentar