![]() |
|
|
Themen-Optionen |
|
|
Nach oben #1 |
|
Benutzer
Registriert seit: 10.01.2007
Ort: Chemnitz
Beiträge: 47
|
hi ich grüsse euch ganz herzlichst,
meine frage lautet: habe eine Tabelle (siehe code-bsp) und möchte, das ich im tabellenheader draufklicke und danach sortieren kann, also ich klicke auf Name oder Artikel Gruppe oder .. und kann nach DESC oder ASC sortieren. wo kann man nachschauen oder hat bitte einer eine lösung wie man dies programmiert? PHP-Code:
es grüsst ganz herzlichst jennifer Geändert von jennifer (10.01.2007 um 20:36 Uhr). |
|
|
|
|
|
Nach oben #2 |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.800
|
Hallo,
das ist ja eigentlich recht simpel. Du verlinkst die Tabellenüberschrift und sendest beim Klick einen GET-Request an das Skript. Das Skript wertet dann aus, ob da ein sort=desc oder ein sort=asc drin steht und verwendet die Information dann in der SQL-Anweisung. Pseudocode mit Standardsortierung DESC: Code:
WENN sort im GET-Request existiert
WENN sort == asc
ORDER BY ASC
SONST
ORDER BY DESC
SONST
ORDER BY DESC
Grüße, Ben. |
|
|
|
|
|
Nach oben #3 |
|
Benutzer
Registriert seit: 10.01.2007
Ort: Chemnitz
Beiträge: 47
|
hi ben,
erst einmal herzlichen dank für die schnelle antwort. also ich habe dies mal so geschrieben, da ich mit solchen abfragen noch so meine kleinen proplemchen habe. PHP-Code:
es grüsst ganz herzlichst jennifer |
|
|
|
|
|
Nach oben #4 |
|
Semantic Web Fanatic
Registriert seit: 03.06.2006
Beiträge: 235
|
Nein.
So in etwa: HTML-Code:
<th>Name <a href="seite.php?orderby=name&order=asc">^</a><a href="seite.php?orderby=name&order=desc">v</a> PHP-Code:
__________________
Applikations-Programmierung: BlitzMax, BlitzPlus Webentwicklung: PHP, (X)HTML, CSS, JavaScript, MySQL |
|
|
|
|
|
Nach oben #5 |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.800
|
Kann man ja auch noch abkürzen
PHP-Code:
|
|
|
|
|
|
Nach oben #6 |
|
Benutzer
Registriert seit: 10.01.2007
Ort: Chemnitz
Beiträge: 47
|
hi ihr lieben,
habe es jetzt geschafft, also es funktioniert und sage ganz herzlichen dank für die unterstützung. und hier der fertige codeschnipsel PHP-Code:
also nochmals herzlichen grossen dank ganz herzliche grüsse an euch jennifer Geändert von jennifer (10.01.2007 um 22:14 Uhr). |
|
|
|
|
|
Nach oben #7 |
|
Projektleiter
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.244
|
Ich würde die links so gestalten, dass immer nur ein ASC oder ein DESC vorhanden ist.
Das jeweils andere reicht ja. In Abhängigkeit von dem, was via GET übergeben wurde nimmst du das im link einfach das andere... Der Einfachheit wegen den post von Ben nicht übersehen!
__________________
Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Danke! |
|
|
|
|
|
Nach oben #8 |
|
BIN EIN KRASSA HELD!!!111
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.188
|
Du musst unbedingt deine Parameter absichern, sonst kann es zu SQL-Injections kommen!
z.b. so: PHP-Code:
|
|
|
|
|
|
Nach oben #11 |
|
Benutzer
Registriert seit: 10.01.2007
Ort: Chemnitz
Beiträge: 47
|
hi ihr lieben,
so habe das wegen der SQL-Injections mit eingebaut. PHP-Code:
also nochmals an alle ein rießen DANK ganz herzliche grüsse jennifer |
|
|
|
|
|
Nach oben #14 |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.800
|
Wenn man ganz sichergehen will, ob die Spalte, nach der sortiert werden soll, überhaupt existiert (das ist ja auch noch eine Fehlerquelle), dann kann man im Voraus auch noch eine Abfrage à la
Code:
SHOW COLUMNS FROM prefix_table Ist zwar eine Abfrage mehr, sichert aber ab, dass der übergebene Wert auch korrekt in die SQL-Abfrage passt. |
|
|
|
|
|
Nach oben #15 |
|
Benutzer
Registriert seit: 10.01.2007
Ort: Chemnitz
Beiträge: 47
|
hi ihr lieben, so möchte mal meine seite kurz vorstellen, wie ich es gelöst und nach mein besten wissen geschrieben habe. vieleicht kann ja jemand etwas gebrauchen. die links sind momentan noch etwas zu viel aber was bessseres viel mir gerage nicht ein oder habe momentan keine andere lösung. so php/mysql fortgeschritten bin ich noch nicht. PHP-Code:
|