| | | | |
| | |
| Neuer Benutzer Registriert seit: 18.09.2008
Beiträge: 9
![]() | Hallo zusammen Ich bin neu hier (und auch relativ unerfahren, was PHP und MySQL) anbetrifft. In den letzten zwei Tagen (bzw. Nächten Im Moment habe ich es ganz unelegant so gelöst, indem ich die ganze Seite 8x dupliziert und dann auf jeder Seite die Sortierung geändert habe. Ziemlich umständlich und mühsam. Das Ergebnis seht ihr hier. Das geht bestimmt professioneller und eleganter! Nur wie? Folgenden Code habe ich mal gebastelt (bzw. "ergoogelt): ====Code==== <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <?php include ("dbconnect.php"); ?> </head> <body> <?php function direction($dir) { if($dir="ASC"){ return "DESC";} else { return "ASC"; }} if($sort) { $dir=direction($dir); }else { $abfrage="select f0, f1, f6, f9, f11, f13, f15, f16 FROM user1_3 ORDER BY f1"; }$ergebnis = mysql_query($abfrage)or die("Anfrage fehlgeschlagen: " . mysql_error()); ?> <p></p> <table width="700" border="0" bordercolor="#FFFFCC" > <tr> <td nowrap="nowrap" bordercolor="#FFFFCC"><strong> <?php echo "<a href= 'test3.php?sort=$dir\'>Nachname</a>" ?></strong></td> <td nowrap="nowrap" bordercolor="#FFFFCC"><strong>Vorname</strong></td> <td nowrap="nowrap" bordercolor="#FFFFCC"><strong>Motorrad</strong></td> <td nowrap="nowrap" bordercolor="#FFFFCC"><strong>Anz. Pers.</strong></td> <td nowrap="nowrap" bordercolor="#FFFFCC"><strong>Zimmer</strong></td> <td nowrap="nowrap" bordercolor="#FFFFCC"><strong>Anreise</strong></td> <td nowrap="nowrap" bordercolor="#FFFFCC"><strong>Abreise</strong></td> </tr> <?php while ($result = mysql_fetch_array($ergebnis)){ ?> <tr> <td align="left" nowrap="nowrap" bordercolor="#FFFFCC"><?=$result['f1']?></td> <td align="left" nowrap="nowrap" bordercolor="#FFFFCC"><?=$result['f0']?></td> <td align="left" nowrap="nowrap" bordercolor="#FFFFCC"><?=$result['f9']?></td> <td align="left" nowrap="nowrap" bordercolor="#FFFFCC"><?=$result['f11']?></td> <td align="left" nowrap="nowrap" bordercolor="#FFFFCC"><?=$result['f13']?></td> <td align="left" nowrap="nowrap" bordercolor="#FFFFCC"><?=$result['f15']?></td> <td align="left" nowrap="nowrap" bordercolor="#FFFFCC"><?=$result['f16']?></td> </tr> <?php } ?> </table> <?php mysql_close($connection);?> <p> </p> </body> </html> ====Code Ende==== Ich habe hier alles Überflüssige weggelassen und nur den Code für die Tabelle aufgeführt. Fragt bitte nicht, weshalb die Felder keine selbsterklärende Namen haben, sondern f0, f1, f2 etc. heissen. Ist so, und ich kann's leider nicht ändern. Ich habe das ganze mal "test3.php" benannt, und wie ihr hier seht, funktioniert der Code auch ohne Fehlermeldung - aber die Sortierung wird eben auch nicht gemacht. Ich bin für jede Hilfe dankbar! Gruss, vtx-rider |
| |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Neuer Benutzer Registriert seit: 18.09.2008
Beiträge: 9
![]() | Danke schon mal. Der erste Vorschlag hat nicht funktioniert (ich erhalte einen leeren Bildschirm, aber auch keine Fehlermeldung). Ausserdem möchte ich ja die Sortierrichtung mit jedem Klick immer umkehren können. Ich versuche den Code mal zu editieren: 1. Ich habe eine Funktion, welche die Sortierrichtung steuert. ====Code==== <?php function direction($dir) { if($dir ="ASC"){ return "DESC"; }else{ return "ASC"; } } ?> ====Code Ende==== 2. Dann folgt die Abfrage mit einer If-Anweisung Die Bedingung "If($sort)" überprüft, ob die Variable $sort mit einem Wert gefüllt ist. Wenn ja, wird der ja-Zweig der if-Abfrage ausgeführt. Die Tabelle wird so ausgegeben, dass die Spalte, deren Tabellenkopf angeklickt wurde, sortiert ausgegeben wird. Wenn nein, wird die Abfrage in der Standardsortierung ausgegeben. ====Code==== <?php if($sort){ $dir=direction($dir); $ergebnis=mysql_query("SELECT f0, f1, f6, f9, f11, f13, f15, f16 FROM user1_3 ORDER BY $sort $dir"); }else{ $ergebnis=mysql_query("SELECT f0, f1, f6, f9, f11, f13, f15, f16 FROM user1_3"); } ?> ====Code Ende==== 3. Im Tabellenkopf folgt der Link Hier soll auf Klick die Sortierung nach dieser Spalte erfolgen, wobei bei jedem Klick die Sortierrichtung um gekehrt wird. ====Code==== <?php echo "<a href= 'test3.php?sort=$ergebnis[f1]&dir=$dir'>Nachname</a>" ?> ====Code Ende==== Wenn ich das ganze teste, wird die Tabelle richtig ausgegeben. Auch der Link im Tabellenkopf ist da. Nur wenn ich ihn anklicke, wird nicht sortiert. Fehlermeldung gibt es keine. Das Resultat könnt ihr hier sehen. Bei Klick auf den Tabellenkopf erscheint in der Browserzeile Folgendes: "http://www.vtx-treffen.ch/test3.php?sort=&dir=". Eine Fehlermeldung gibt es aber nicht. Ich hoffe, meine Frage ist nun klarer geworden. Wahrscheinlich liegt es nur an einem kleinen Detail... aber ich komme nicht drauf. |
| |
| | ||
| moderatives Dielektrikum Registriert seit: 21.05.2008
Beiträge: 35.988
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Zitat:
__________________ -- One pixel is still too big. Please make it smaller. ASAP. Initiative Mittelstand. Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers. -- | |
| |
| | |
| moderatives Dielektrikum Registriert seit: 21.05.2008
Beiträge: 35.988
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | PHP-Code:
__________________ -- One pixel is still too big. Please make it smaller. ASAP. Initiative Mittelstand. Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers. -- |
| |
| | |
| Neuer Benutzer Registriert seit: 18.09.2008
Beiträge: 9
![]() | Also nochmals... Ziel ist, die Tabelle auf der fraglichen Seite durch Klick auf den jeweiligen Spaltenkopf neu zu sortieren. dabei soll bei jedem erneuten Klick die Sortierrichtung wieder umgekehrt werden. Das möchte ich in drei Schritten erreichen. 1. Funktion für die Steuerung der Sortierrichtung PHP-Code: 2. MYSQL-Abfrage Die MYSQL-Abfrage ist mit einer If-Anweisung verbunden: Es soll geprüft werden, ob die Variable $sort mit einem Wert gefüllt ist. Wenn ja, soll der ja-Zweig der if-Abfrage ausgeführt. Die Tabelle wird dann so ausgegeben, dass die Spalte, deren Tabellenkopf angeklickt wurde, sortiert ausgegeben wird. Wenn nein, wird die Abfrage in der Standardsortierung ausgegeben. PHP-Code: Im Spaltenkopf folgt der Link. Hier soll auf Klick die Sortierung nach dieser Spalte erfolgen, wobei bei jedem Klick die Sortierrichtung um gekehrt wird. Soweit ich das überblicke, liegt das Problem hier. PHP-Code: Das Resultat könnt ihr hier sehen. Bei Klick auf den Tabellenkopf erscheint in der Browserzeile Folgendes: "http://www.vtx-treffen.ch/test3.php?sort=&dir=". Eine Fehlermeldung gibt es aber nicht. |
| |
| | |
| Erfahrener Benutzer Registriert seit: 28.03.2008
Beiträge: 1.847
![]() | <?php echo "<a href= 'test3.php?sort=$ergebnis[f1]&dir=$dir'>Nachname</a>" //Link, der die Seite mit der neuen Sortierung neu aufruft ?> ergibt: Teilnehmerliste Ride-In 2009= das heisst Deine Variablen $ergebnis[f1] und $dir sind leer, bzw. nicht gesetzt |
| |
| | ||
| Neuer Benutzer Registriert seit: 18.09.2008
Beiträge: 9
![]() | Zitat:
PHP-Code: | |
| |
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Tabelle mit while nach 4 spalten zur nächsten zeile | Supeede | PHP Tipps 2008 | 6 | 10.05.2008 09:46 |
| dynamische Tabelle sortieren | Supeede | PHP-Fortgeschrittene | 11 | 29.01.2008 08:48 |
| tabelle sortieren mit php? | Thuata | PHP Tipps 2008 | 6 | 26.09.2007 13:46 |
| Wie viele Spalten kann eine Datenbank Tabelle den tragen`? | tomtaz | Datenbanken | 11 | 20.05.2006 20:22 |
| [Problem selbst gelöst] Sortieren über 2 Tabellen | Alpha Centauri | Datenbanken | 1 | 04.04.2006 16:37 |
| [Erledigt] Primary Key über zwei Spalten | Datenbanken | 6 | 10.03.2006 00:40 | |
| Nach 2 Spalten sortieren | Datenbanken | 2 | 10.07.2005 23:36 | |
| Addieren von 3 Spalten, nach Ergebnis sortieren | Datenbanken | 11 | 15.06.2005 09:54 | |
| ausgegebene Tabelle über Links sortieren? | PHP Tipps 2005 | 6 | 31.05.2005 12:39 | |
| Tabelle erweitern, Spalten hinzufügen | GeorgM | Datenbanken | 3 | 24.11.2004 17:06 |
| PHP & Mysql tabelle sortieren | PHP Tipps 2004 | 1 | 03.11.2004 15:51 | |
| [Erledigt] [OT] besser eine Tabelle mit mehr Spalten oder aufteilen ? | Datenbanken | 1 | 22.10.2004 17:26 | |
| Sortieren anhand einer zweiten Tabelle | PHP Tipps 2004 | 6 | 20.09.2004 09:03 | |
| HILFE: Column count doesn't match value count at row 1 | Datenbanken | 17 | 12.06.2004 16:45 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| php tabelle sortieren, tabelle sortieren php, php tabellen sortieren, php sortierbare tabelle, tabellen sortieren php, php spalten sortieren, php table sort, html tabelle sortieren php, tabelle php sortieren, php tabelle sortieren link, sortierbare tabelle php, tabelle mit php sortieren, php html tabelle sortieren, php sortierung tabelle, http://www.php.de/php-tipps-2008/47502-erledigt-tabelle-ueber-spalten-sortieren.html, html spalten sortieren, php sortieren tabelle, html tabelle spalten sortieren, php tabelle sortierung, php tabelle mit sortierung |