Hallo, habe ein Skript, das mir aus der Text-Datenbank ein Drop Down Menü gestaltet:
Es macht noch etwas mehr, aber mir geht es jetzt um das Drop Down Menü.
Denn wenn ich diese Text-Datenbank dahinter habe, was wahrscheinlich bei allen Text-Datenbanken ähnlich sein wird:
Dann ergibt dies das Drop Down Menü wie auf dem Bild, das ich angehangen habe - bei wenigen Einträgen scheint mir dies noch übersichtlich - aber spätestens wenn der Bildschirm nicht mehr ausreicht, alle Einträge darzustellen, wird sich wohl kaum noch einer zurechtfinden, wenn dies nicht alphabetisch sortiert ist.
Gibt es da jetzt einen Weg, das ausgegebene Drop Down Menü zu sortieren oder ist es eher empfehlenswert, die angehangene Textdatenbank vor dem Auslesen zu sortieren?
Ich müsste dann die Zeilen nach dem jeweiligen Anfangsbuchstaben sortiert bekommen.
Welche Lösung wäre hier eher zu empfehlen - das Menü selbst zu sortieren oder erst die Datenbank zu sortieren?
Welchen Befehl würdet Ihr mir da vorschlagen, sollte ich zu diesem Zweck einsetzen - ich möchte regelmäßig kein Skript erstellt haben, obwohl ich dies auch gern nehme, wenn ich es durchschauen kann - so mir jemand in etwa die notwendigen Arbeitsschritte beschreiben oder wieder mal einen kleinen Denkanstoß in die richtige Richtung geben kann, bedanke ich mich schon sehr dafür.
Möglicherweise, wenn ich nicht erst die Textdatenbank sortieren lassen möchte, da ich ja nicht weiß, wielange dies dauern kann, dachte ich mir, eventuell alle hier
in einen Array zu überführen, diesen Array alphabetisch von vorn nach hinten durchsortieren zu lassen und dann wieder aufgesplittet als Option in das Menü einzufügen - geht das?
Wie geht es eventuell einfacher oder besser, was wäre die elegantere Lösung?
Schonmal vielen Dank für Eure Unterstützung.
So, habe jetzt dieses Skript eingesetzt:
vielleicht ist ja wieder was zuviel dabei - noch fehlt das flock als zusätzliche Sicherheit - jedoch reine Formsache - das Skript jedenfalls funktioniert und sortiert mir zunächst mal die Datenbank anhand des ersten Eintrages je Zeile durch - ob man dieses Skript jetzt dem anderen voranstellen sollte, damit jedesmal bevor das Drop Down Menü erstellt wird, die Datenbank auch wirklich sortiert ist, weiss ich noch nicht genau - halte es jedoch für empfehlenswert - da man, wenn man nicht als einziger Änderungen vornehmen kann, das Drop Down Menü ständig für eine Überraschung gut sein kann.
Hah, dusslig bin ich auch noch, wenn ich die ganzen Zeilen in den Array einlesen, dann sortieren, ausgeben und wieder in die Datei schreiben kann, damit das Drop Down Menü dann stimmt, dann frage ich mich freilich, warum ich nicht gleich die selektierten ersten Einträge aus jeder Zeile in ein Array einlesen, das sortieren und dann in das Menü einfügen lasse - na, schaumer mal - jedenfalls müsste dann jedenfalls nicht jedesmal die Datei neu geschrieben werden, nur weil mal einer eine Abfrage machen will.
PHP-Code:
<form action="uebung3.php" method="post">
<select name="vorname" onChange="this.form.submit();">
<option>Auswahl</option>
<?php
$variable = file("uebung.txt");
$suche = array();
foreach ($variable as $zeile)
{
$term = explode("|", $zeile);
array_push ($suche, $term[0],$term[1],$term[2]);
echo "<option>". $term[0] ."</option>";
}
?>
Denn wenn ich diese Text-Datenbank dahinter habe, was wahrscheinlich bei allen Text-Datenbanken ähnlich sein wird:
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
Gibt es da jetzt einen Weg, das ausgegebene Drop Down Menü zu sortieren oder ist es eher empfehlenswert, die angehangene Textdatenbank vor dem Auslesen zu sortieren?
Ich müsste dann die Zeilen nach dem jeweiligen Anfangsbuchstaben sortiert bekommen.
Welche Lösung wäre hier eher zu empfehlen - das Menü selbst zu sortieren oder erst die Datenbank zu sortieren?
Welchen Befehl würdet Ihr mir da vorschlagen, sollte ich zu diesem Zweck einsetzen - ich möchte regelmäßig kein Skript erstellt haben, obwohl ich dies auch gern nehme, wenn ich es durchschauen kann - so mir jemand in etwa die notwendigen Arbeitsschritte beschreiben oder wieder mal einen kleinen Denkanstoß in die richtige Richtung geben kann, bedanke ich mich schon sehr dafür.
Möglicherweise, wenn ich nicht erst die Textdatenbank sortieren lassen möchte, da ich ja nicht weiß, wielange dies dauern kann, dachte ich mir, eventuell alle hier
PHP-Code:
$term[0]
Wie geht es eventuell einfacher oder besser, was wäre die elegantere Lösung?
Schonmal vielen Dank für Eure Unterstützung.
So, habe jetzt dieses Skript eingesetzt:
PHP-Code:
<?php
$variable = file("uebung.txt");
$uebertrag = array();
foreach ($variable as $zeile)
{
array_push ($uebertrag, $zeile);
}
asort ($uebertrag);
$uebungdatei = fopen ("uebung.txt","w+");
foreach ($uebertrag as $mein_uebertrag)
{
$eintrag ="$mein_uebertrag";
fwrite($uebungdatei, "$eintrag");
}
fclose($uebungdatei);
?>
Hah, dusslig bin ich auch noch, wenn ich die ganzen Zeilen in den Array einlesen, dann sortieren, ausgeben und wieder in die Datei schreiben kann, damit das Drop Down Menü dann stimmt, dann frage ich mich freilich, warum ich nicht gleich die selektierten ersten Einträge aus jeder Zeile in ein Array einlesen, das sortieren und dann in das Menü einfügen lasse - na, schaumer mal - jedenfalls müsste dann jedenfalls nicht jedesmal die Datei neu geschrieben werden, nur weil mal einer eine Abfrage machen will.
Kommentar