• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[GELÖST] Mysql tabelle filter per dropdown

giabbatino

New member
Hallo zusammen,

ich habe schon einige Zeit mit der Suche verbracht, komme aber nicht zu dem richtigen Ergebenis. Wird wohl daran liegen, dass ich die richtigen Begriffe nicht kenne....

Ich gebe eine Mysql-Tabelle mittel php aus. Da die Einträge inzwischen sehr viele sind, wäre es jetzt toll, wenn die Spalten gefiltert werden können.
Eine Spalte die ich filtern möchte ist das Datum also von - bis die zweite Spalte hat 10 unterschiedliche Einträge.

Ich weiss nicht wie der richtige Ansatz ist um das zu realisieren. Wenn mir jemand bitte einen Tipp geben kann, wäre das echt super.

Gruss
Alex
 
Zuletzt bearbeitet von einem Moderator:
So ganz verstehe ich die Frage nicht.
Möchtest du nur gewisse spalten heraus filtern oder möchtest du eine art von "Blättern" umsetzten. Also Einträge 1-10, 11-20, usw?
Oder willst du sortieren?
 
Im herkömmlichen Sinne ist "Filtern = Suchergebnis einschränken".

Hierzu benötigt Alex (TO) die Möglichkeit von WHERE in Kooperation mit BETWEEN, LIKE etc.

Wenn Du eine Dropdown-Liste zum Filtern machen willst, schickst Du die Auswahl (nimm Integer; geht a) einfach, b) am schnellsten und c) am sichersten [schick gar nicht erst Strings mit vordefinierten Query-Erweiterungen]) an den Server und der übersetzt sich den Integer in die erweiterte Befehlsfolge ...

Beispiel ...
Dropdown (fiktiv)
... 1 ("zeige mir die letzten zehn neuen User")
... 2 ("zeige mir inaktive User")
... 3 ("User mit den meisten Beiträgen")
usw.

Auf Serverseite (fiktive Table etc.):
Wie erwähnt erweiterst Du ein bestehendes Select-Statement um den Übergabeparameter - allerdings als String. Klingt kompliziert, ist so einfach wie pupsen:

Code:
$limiterID = (int) $_GET['dropdownValue'];

$select = "SELECT `user` FROM `userTable`";

Dann legst Du Dir einfach ein Array ähnlich diesem an:
Code:
$additionalSQL = array();
$additionalSQL[1] = " ORDER BY `userID` DESC LIMIT 10;";
$additionalSQL[2] = " WHERE `userStatus`='offline';";
$additionalSQL[3] = " ORDER BY `userPostCount` DESC LIMIT 10;";
Anmerkung: "usw."

Als Kombination dann ...
Code:
$select .= (isset($additionalSQL[ $limiterID ]) ? $additionalSQL[ $limiterID ] : '');

echo $select; // aka: Abfrage auf Datenbank

"Geht auch anders" ... jupp ... aber ich initialisiere meine Variablen gern mittels richtigem Typ vor Benutzung/Beschriftung.

Ich hoffe, dass ich Dich in die richtige Richtung (aber freundlich) schubsen konnte.

Viel Erfolg.
 
Hallo,

sorry, dass ich erst jetzt antworte...
Steelwheels Antwort ist genau das, was ich gebraucht haben;-)

Vielen Dank

Gruss

Alex
 
Zurück
Oben