Hallo Forum,
ich bräuchte mal euren Rat oder einen Denkansatz wie man folgendes realisieren könnte.
Ich habe INI-Dateien, die bei jedem Seitenaufruf in ein einfaches Array eingelesen und sortiert werden.
Diese Daten sollen nach bestimmten (kombinierbaren!) kriterien gefiltert und dann angezeigt werden.
Also zum beispiel so:
Rufe ich index.php ohne Parameter auf, zeigt er alle Dateien an.
Rufe ich sie z.b. so auf: index.php?alphabet=a, zeigt er mir alle mit Alphabet A an.
Bei index.php?alphabet=a&plz=5, zeigt er mir alle mit Alphabet A !UND! PLZ-bereich 5 an.
Die Daten nach denen gefiltert werden soll (Also Name, PLZ, Ort, usw) liegen in den INI-Dateien.
Diese mittels entspr. Funktionen auszulesen und zu filtern ist ja ansich nicht das Problem.
Aber was, wenn ich nach mehreren Sachen kombiniert filtern will wie oben im Beispiel?
Ich habe es so versucht, das geht zwar im Prinzip, führt aber nur zu Chaos:
Ob jetzt schon beim erstellen des Arrays oder erst beim Auslesen gefiltert wird ist eigentlich egal, die Problematik bleibt die gleiche, da man sich immer in bösen IF-Konstrukten verheddert :-) (ich will ca 10 Werte filtern das wären dann 10x10 if-bedingungen
)
Als zweiten versuch habe ich pro Filterkriterium ein Array erstellt...
Das funktioniert nicht richtig (Doppeleinträge..) und ist zudem (wie auch das erste) extrem dirty :-)
Gibt es da bessere Lösungen? Mit Datenbankabfrage wäre das wahrscheinlichviel einfacher aber die Daten kommen aus einer Fremdanwendung das kann ich nicht ändern mit dem Format.
Ich hoffe man kann verstehen was ich möchte !! :-)
Vielen Dank schonmal für jegliche Anregung
DANKE lappen
ich bräuchte mal euren Rat oder einen Denkansatz wie man folgendes realisieren könnte.
Ich habe INI-Dateien, die bei jedem Seitenaufruf in ein einfaches Array eingelesen und sortiert werden.
Diese Daten sollen nach bestimmten (kombinierbaren!) kriterien gefiltert und dann angezeigt werden.
Also zum beispiel so:
Rufe ich index.php ohne Parameter auf, zeigt er alle Dateien an.
Rufe ich sie z.b. so auf: index.php?alphabet=a, zeigt er mir alle mit Alphabet A an.
Bei index.php?alphabet=a&plz=5, zeigt er mir alle mit Alphabet A !UND! PLZ-bereich 5 an.
Die Daten nach denen gefiltert werden soll (Also Name, PLZ, Ort, usw) liegen in den INI-Dateien.
Diese mittels entspr. Funktionen auszulesen und zu filtern ist ja ansich nicht das Problem.
Aber was, wenn ich nach mehreren Sachen kombiniert filtern will wie oben im Beispiel?
Ich habe es so versucht, das geht zwar im Prinzip, führt aber nur zu Chaos:
PHP-Code:
if ($alphabet != "" and $plz == "") {
// prüfe, ob alphabet übereinstimmt und packe dann ins array
} elseif ($alphabet != "" and $plz != "") {
// prüfe, ob alphabet UND PLZ übereinstimmt und packe dann ins array
} elseif ($alphabet == "" and $plz != "") {
// prüfe, ob PLZ übereinstimmt und packe dann ins array
}
...
// hier inhalte des Arrays ausgeben

Als zweiten versuch habe ich pro Filterkriterium ein Array erstellt...
PHP-Code:
if ($alphabet != "") {
// packe ins array $array_alphabet
}
if ($plz != "") {
// packe ins array $array_plz
}
$array_anzeigen = $array_alphabet + $array_plz;
// hier die inhalte von $array_anzeigen ausgeben
Gibt es da bessere Lösungen? Mit Datenbankabfrage wäre das wahrscheinlichviel einfacher aber die Daten kommen aus einer Fremdanwendung das kann ich nicht ändern mit dem Format.
Ich hoffe man kann verstehen was ich möchte !! :-)
Vielen Dank schonmal für jegliche Anregung
DANKE lappen
Kommentar