Ankündigung

Einklappen
Keine Ankündigung bisher.

Suchergebnisse über mehrere Seiten?

Einklappen

Neue Werbung 2019

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

  • HolgiB
    hat ein Thema erstellt Suchergebnisse über mehrere Seiten?.

    Suchergebnisse über mehrere Seiten?

    Hallo zusammen!

    Ich benötige für mein Webprojekt eine Aufsplittung von Suchergebnissen auf mehrere Seiten, wenn die Anzahl von sagen wir 10 überschritten wird.

    Habe lange gegrübelt wie ich vorgehen könnte. Meine Idee war im SQL statement mich auf eine bestimmte Ergebnismenge zu beschränken ala "LIMIT 0,9". So gebe ich maximal 10 aus. Nur wenn ich mit mysql_num_rows versuche, die Zahl der glieferten Ergebniszeilen rauszukriegen, ist sie natürlich auch immer 10 . Also weiß ich so nicht, ob es nötig wäre noch ne 2. oder 3. Seite mit Suchergebnissen aufzumachen.

    Hat vielleicht jemand von euch nen Tip wie man sowas überhaupt am Besten löst?

    Gruss
    Holger

  • cycap
    antwortet
    Es ging Flor1an mehr darum das es so für dich schwierig wird deinen Code anzupassen. Nehmen wir mal an du willst irgendwann mal einen Link einführen mit dem du das Suchergebniss per Klick auf Gas-Autos nachträglich beschränken kannst, und dann stehst du da mit deinem fertigen SQL-Statement...

    Einen Kommentar schreiben:


  • HolgiB
    antwortet
    Für das recycling des codes sicherlich hilfreich. Aber nach einer einmal abgeschickten Suche, ist nicht vorgesehen die Parameter nochmals zu beeinflussen. Dafür müßte eine erneute Suche abgeschickt werden.

    Ich bleibe erstmal dabei wie es ist. Aber für die Zukunft hat die array Lösung was. Um bei erneuter Suche die Felder des Suchformulars z.B. mit den alten Werten vorzubelegen.

    Gruss
    Holger

    Einen Kommentar schreiben:


  • Flor1an
    antwortet
    Wenn dann würde ich die Parameter über die Session übergeben und nicht gleich das ganze SQL Statement. Denn dann hast du das Problem wenn du irgendwo was im Statement ändern möchtest musst du an zig verschiedenen Stellen suchen.

    Übergebe lieber diese ganzen Suchkriterien als Array über die Session und bastel dir daraus die Statements.

    Einen Kommentar schreiben:


  • HolgiB
    antwortet
    Klar, das kann ich machen. Ich finde das übergeben von so vielen Parametern auf diesem Weg unsauber.

    Oder läßt sich das in der Session gespeicherte SQL Statement unerwünscht verändern? Meines wissens wir das ja Serverseitig abgelegt und über die SessionID zugeordnet.

    Gruss
    Holger

    Einen Kommentar schreiben:


  • cycap
    antwortet
    DU musst das SQL-Statement wegen dem LIMIT doch eh jedes mal anpassen, warum schreibst du dir nicht eine Funktion die dir aus den Parametern immer den richtigen SQL-String zusammen baut? Ich meine einen String zusammen setzen ist nun wirklich auch keine Sache die auf Performance drückt.

    Einen Kommentar schreiben:


  • HolgiB
    antwortet
    Genau das ist das Problem!

    Ich baue hier eine Plattform änhlich wie Mobile.de, nur halt für Malaysia . Der User wählt unter Umständen 10 oder mehr verschiedene Suchkritrien im Formular aus. Möglich sind >20.

    Die werden dann per GET ausgelesen, also als Formular eben übergeben und entsprechend das Statement zusammengebaut.

    Nun tritt der Fall ein, das sagen wir es 40 Treffer gibt. Es sollen 10 pro Seite angezeigt werden. Also sehen wir die erste Seite. Zahl der Suchergebnisse ermittelt und begrenzt, wie anfangs im diesem Thread vorgeschlagen.

    Unten auf der Ergebnisliste existieren nun Links zu den nächsten Seiten. Dort könnte ich einen Wert für die nächste Seite übergeben. Natürlich auch mehrere. Aber für mich macht ein

    search.php?page=3

    ja absolut sinn aber ein

    search.php?page=3&&category=limousine&&price_range =30000&&transmission=MT&&brand=VW&&model=Passat&&A rea=Johor&&Aircon=Yes&&Leather=Yes&&esp=Yes und und und?

    Dann nochmal im Script das gleiche SQL Statment bauen?! Das soll ne gute Lösung sein?

    Vielleicht habe ich ja was verpaßt und es gibt noch nen anderen Weg, Werte in das nächste Script zu übergeben?

    Für mich klingt das Statement in der Session abzulegen und entsprechend den LIMIT Paramete am Ende anzupassen für sehr gut. Was ist daran schlecht?

    Ich bin für alles offen, bin Autodidakt. Jede info von aussen und jede gute Idee ist prima.

    Gruss
    Holger

    Einen Kommentar schreiben:


  • agrajag
    antwortet
    Zitat von Flor1an Beitrag anzeigen
    Wieso das SQL Statement in der Session speichern? Das SQL Statement steht im Skript und dort wird LIMIT eingefügt. Also sowas hab ich noch nie gehört dass jemand SQL Statements über die Session übergibt.
    Das SQL-Statement kann ja aber - je nach vom Formular übergebenen Werten - beliebig komplex werden.
    Da finde ich die Idee das Statement - oder teile davon - einfach in $_SESSION abzulegen durchaus ok....

    Einen Kommentar schreiben:


  • cycap
    antwortet
    -> Verschoben nach Einsteiger

    Einen Kommentar schreiben:


  • Flor1an
    antwortet
    Wieso das SQL Statement in der Session speichern? Das SQL Statement steht im Skript und dort wird LIMIT eingefügt. Also sowas hab ich noch nie gehört dass jemand SQL Statements über die Session übergibt.

    Einen Kommentar schreiben:


  • HolgiB
    antwortet
    Naja, für alle nachfolgenden Seiten existiert ja kein Formular mehr.

    Ich könnte also höchstens ne Variable an die Link URL hängen, die zur nächsten oder vorigen Seite führt. Das mache ich auch. Dann berechne ich den Offset über die Seitenzahl für LIMIT und ergänze so passend, das in der Session gespeicherte SQL Statement.

    Gruss
    Holger

    Einen Kommentar schreiben:


  • cycap
    antwortet
    Wozu ne Session? Du kannst doch die Formularwerte mit übergeben?

    Einen Kommentar schreiben:


  • HolgiB
    antwortet
    Ja prima hinweise. Bin schon am Basteln.

    Frage mich nur noch, was ich mit meinem SQL statement mache, da es abhändig vom Suchformular zusammengebaut wird. Denke ich werde wohl ne Session starten müssen, um es dann abzulegen.

    Gruss
    Holger

    Einen Kommentar schreiben:


  • phpdummi
    antwortet
    Dutzende HowTo's, Tutorials, Scripte etc. unter dem Stichwort Pagination zu finden.

    Einen Kommentar schreiben:


  • Flor1an
    antwortet
    Stimmt, aber kommt irgendwo aufs selbe hinaus Aber ich werds mir mal anschauen vielleicht lässt es sich sinnvoll nutzen.

    Einen Kommentar schreiben:

Lädt...
X