Heinz: Sortieren

Hallo!

habe folgende MySql-Abfrage:

SELECT Feld1,Feld2,Feld3,Feld4,Feld5 FROM $tabelle ORDER BY Feld2,Feld1 ASC LIMIT 1,25

Nun meine Fragen:´
(a) Aus obiger Abfrage erhalte ich eine Tabelle mit 5 Spalten (Feld1 bis Feld5) sortiert nach Feld2 und Feld1. Nun möchte ich die Überschriften jeder Spalte mit einem Link versehen. Wenn ich jetzt z.B. auf den Link in Spalte Feld3 klicke soll die ganze Tabelle nach Feld3 absteigend und Feld2 und Feld1 aufsteigend sortiert werden. Oder bei Klick auf Spaltenüberschrift Feld4 nach Feld4 abst. und Feld2 und Feld1 aufsteigend sortiert werden usw. Wie muss ich meine Abfrage umbauen, um das zu realisieren?

(b) Hier geht's nun um den LIMIT-Teil. Wie muss diesen Teil meiner Abfrage umbauen, um ein Vor- und Zurückblättern zu ermöglichen, ohne die LIMIT-Werte selbst ändern zu müssen? D.h. auf der ersten Seite die Einträge 1-25, dann 26-50 usw. Vielleicht mit Variablen? Ich könnte ja jedem Eintrag eine ID verpassen und diesen dann irgendwie bei LIMIT einbauen, aber wie? Un wie muss dann der Link aussehen?

Besten Dank
Heinz

  1. Hallo,

    zum Limit:
    In einer Variablen die Anzahl der Treffer pro Seite festlegen:
    $treffer=25;

    Beim Umblättern die Nummer ($id) des letzten Treffers mitübergeben:
    <a href=...?id=$id>

    Vor dem Select die ID um $treffer hochzählen:
    $id=$id+$treffer

    Abfrage:
    ...LIMIT $id,$id+25

    Grüße aus Würzburg
    Julian

  2. Mein lieber Heinz,

    am Besten wird es sein, Du hängst Dich an den Thread

    http://forum.de.selfhtml.org/?m=88737&t=15882 dran

    denn so wie bei Dir hat das bei mir auch angefangen. Und nun haben schon die besten Köpfe sich daran einen abgebrochen und noch keine Lösung gefunden, die besser ist, als ne billige Access-Nachahmung.

    Ich bin gerade intensivst dabei, das Verhalten von MySQL nachzuempfinden in Bezug auf Indexe (soll man ja jetzt sagen dürfen), Sortierung, Filter, IDs

    Lies Dir das mal durch.

    SQL ist nicht in der Lage, den auf den angezeigten Datensatz aktuell folgenden (also nicht den aus irgend einemm vergammelten Resultset) zu finden. Ich glaube, ich kehre zurück zu meinen Client-Server-Datenbanken ohne SQL. Die konnten das alle.

    Gruß

    Tom

    1. Hallo!

      am Besten wird es sein, Du hängst Dich an den Thread

      http://forum.de.selfhtml.org/?m=88737&t=15882 dran

      Danke, habe ich mir heute schon durchgelesen (vor meinem Posting), bin aber nicht schlau daraus geworden :-).

      LG
      Heinz

      1. Hallo!

        am Besten wird es sein, Du hängst Dich an den Thread

        http://forum.de.selfhtml.org/?m=88737&t=15882 dran

        Danke, habe ich mir heute schon durchgelesen (vor meinem Posting), bin aber nicht schlau daraus geworden :-).

        LG
        Heinz

        Heinz, dann warte noch ein, drei, sechs Tage. Dann kannst Du (hoffffentlich) von mir ne fertige Musterlösung haben. Die werde ich gaaanz bestimmt gut Dokumentieren. Falls es ÜBERHAUPT eine Lösung gibt.

        Gruß

        Tom