Ankündigung

Einklappen
Keine Ankündigung bisher.

Pager bei beliebiger Sortierung

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Pager bei beliebiger Sortierung

    Hallo,

    ich möchte eine Liste die man beliebig filtern und sortieren kann.
    Wenn man sich dann einen Datensatz ansieht hätte ich gerne einen Vor und Zurück Button die genau durch die Liste navigiert, so wie sie gefiltert, und sortiert wurde.

    Allerdings bin ich mir nicht sicher wie man das ganze am besten angeht.

    Filter und Sortierung in Session speichern.
    Und dann stehe ich an.

    Da ich leider keine Idee habe wie man das nächste und vorherige Id, von der die man gerade geöffnet hat per mysql Abfrage zu bekommen,
    würde ich dazu tendieren alle Id's in einem Array in der Session ablegen und dann mit dem array key arbeiten.
    Aber ich vermute mal das ist bestimmt nicht die eleganteste Lösung, und ich fürchte nicht sehr performant bei große Listen.

    Falls jemand eine Idee für einen besseren Ansatz hat, würde mich das sehr freuen.

  • #2
    Worum geht` s um Datenbankabfragen oder um Listenelemente in HTML?.
    Ich werde nicht ganz schlau daraus.

    Kommentar


    • #3
      Bitte auch beachten: Inserate, Konzepte und Meinungsumfragen

      MOD: Verschoben von PHP-Einsteiger
      The string "()()" is not palindrom but the String "())(" is.

      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #4
        Ja dann sorry für's falsch posten, und danke fürs verschieben.


        Ja es geht um eine Datenbankanfrage (MYSQL).

        vereinfacht eine Tabelle mit:

        Id | Vorname | Nachname | Punkte | ......

        die man filtern und sortieren kann

        wenn man dann zb den 3 Datansatz öffnet
        mit zb show/3/ hätte ich dort dann gernen einen vor und zurückbutton um eben den vorherigen und nachfolgenden datensatz anzuzeigen.

        Hoffe es ist so verständlicher.


        -------

        Eben habe ich auch gerade daran gedacht das ganze als normales paging anzusehen mit genau 1 item pro page.
        Nur müsste ich dann eben die page und die id des datensatzes in die url nehmen was ja kein Problem sein sollte.

        Aber ich denke mal das geht noch besser.

        Kommentar


        • #5
          Ich realisiere solche Listen mit einem selbstgeschriebenen Query-Builder, der gewisse Tasks stark versimplifiziert. Heißt, du definierst gewisse Bestandteile deiner SQL-Abfrage über Metaprogrammierung:

          PHP-Code:
          $db->select()
          ->
          from('t'$complexSubSelect)
          /* ... */
          ->whereSpec('t.active LIKE CONCAT("%", ?, "%")'$getParams'filter.name')
          ->
          whereSpec('t.name = ?'$getParams'filter.active')
          ->
          whereSpec('t.price >= ?'$getParams'filter.price.start')
          ->
          whereSpec('t.price <= ?'$getParams'filter.price.end')
          /* ... */
          ->orderSpec('t.active'$getParams'sort.active')
          ->
          orderSpec('t.name'$getParams'sort.name')
          /* ... */
          ->limitSpec($getParams'limit.count'25)
          ->
          offsetSpec($getParams'limit.offset')
          /* ... */
          ->getQuery(); 

          Kommentar

          Lädt...
          X