Hallo!
Ich würde gerne wissen, was die beste Lösung für folgendes Problem ist:
Eine Abfrage aus einer MySQL-Tabelle über sagen wir mal 6 Spalten ergibt beispielsweise 25 Ergebnisse, welche mittels PHP in einer HTML-Tabelle angezeigt werden.
Nun möchte ich gerne eine Möglichkeit für den User einbauen, diese Suchergebnisse nachträglich neu zu sortieren. Auf manchen Seiten habe ich sowas schon gesehen, man klickt dann z.B. einfach auf einen beliebigen Spaltenkopf der Tabelle - und schwups wird die Tabelle neu sortiert.
Meine bisherigen Recherchen ergaben, dass die beste Lösung, was Performance betrifft, wäre, es nochmal über MySql zu machen statt über PHP.
nur ORDER BY ändern - Das Hilfe, HTML und Webmaster Forum
Aber wie am besten technisch umsetzen? Ich habe es jetzt so gemacht:
Problem: HTML (oder PHP?) übernimmt die Abfrage nicht richtig und fügt bei jedem Anführungszeichen (') noch ein \ ein; macht zum Beispiel "WHERE kunden.kd_nr LIKE \'9%\' " draus.
Man könnte natürlich die Abfrage kodieren und dann wieder decodieren. PHP: base64_encode - Manual
Aber gibt es denn keine bessere/elegantere Lösung?
Danke und frohe Weihnachtszeit!
Lisa
Ich würde gerne wissen, was die beste Lösung für folgendes Problem ist:
Eine Abfrage aus einer MySQL-Tabelle über sagen wir mal 6 Spalten ergibt beispielsweise 25 Ergebnisse, welche mittels PHP in einer HTML-Tabelle angezeigt werden.
Nun möchte ich gerne eine Möglichkeit für den User einbauen, diese Suchergebnisse nachträglich neu zu sortieren. Auf manchen Seiten habe ich sowas schon gesehen, man klickt dann z.B. einfach auf einen beliebigen Spaltenkopf der Tabelle - und schwups wird die Tabelle neu sortiert.
Meine bisherigen Recherchen ergaben, dass die beste Lösung, was Performance betrifft, wäre, es nochmal über MySql zu machen statt über PHP.
nur ORDER BY ändern - Das Hilfe, HTML und Webmaster Forum
Aber wie am besten technisch umsetzen? Ich habe es jetzt so gemacht:
- Einen Link ins PHP-Skript einbauen.
- Der Link hat als href $_SERVER['PHP_SELF'] ?abfrage=$neueabfrage
- $neueabfrage = alte Abfrage + gewünschte Sortierung
Problem: HTML (oder PHP?) übernimmt die Abfrage nicht richtig und fügt bei jedem Anführungszeichen (') noch ein \ ein; macht zum Beispiel "WHERE kunden.kd_nr LIKE \'9%\' " draus.
Man könnte natürlich die Abfrage kodieren und dann wieder decodieren. PHP: base64_encode - Manual
Aber gibt es denn keine bessere/elegantere Lösung?
Danke und frohe Weihnachtszeit!
Lisa
Kommentar