1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

MySQL-Suchergebnisse in "Gruppen" einteilen

Dieses Thema im Forum "PHP & Co." wurde erstellt von newmacuser24, 10.03.08.

  1. newmacuser24

    newmacuser24 Antonowka

    Dabei seit:
    27.12.05
    Beiträge:
    355
    Hallo zusammen,

    Würde gerne folgendes machen:

    Wenn ich an meine MySQL-Datenbank eine Suchanfrage schicke:

    $sql="SELECT * FROM products WHERE ItemName = '$ItemName' AND ItemPrice ='$ItemPrice'";
    $result=mysql_query($sql);
    while($zeile = mysql_fetch_array($result)){
    echo $zeile['ItemInfo'];}

    ...möchte ich, dass die Ergebnisse in "Gruppen" von je 8 Ergebnissen per echo ausgegeben werden.

    Und zwar schritt für schritt:

    1) User sucht
    2) Die ersten 8 Ergebnisse werden ausgegeben
    3) User klickt zum Beispiel auf "mehr"
    4) Ergebnisse 9-16 werden ausgegeben

    Ich weiss, dass es elegantere Lösungen gibt, Ergebnisse in Gruppen auf einer Website darzustellen, plane aber diese per Email zu versenden und benötige daher eine Lösung in diesem Stil.

    Vielen Dank im Voraus!
     
  2. MrNase

    MrNase Champagner Reinette

    Dabei seit:
    11.01.05
    Beiträge:
    2.643
    Das ist eigentlich recht einfach, da du offenbar weist was du tust gebe ich nur Stichpunkte. :)

    MySQL & limit: http://dev.mysql.com/doc/refman/5.0/en/select.html (unten der Absatz fängt mit „The LIMIT clause can be used to constrain the number of rows returned by the SELECT statement.“ an)

    Dann musst du die Datenbankabfrage natürlich umbauen, du brauchst ja 2 Zahlen im Limit anwenden zu können.

    Zum einen musst du die Anzahl der Punkte pro Seite definieren
    und
    eine Variable benutzen die die aktuelle Seitenzahl enthält.

    Ersteres ist: $per_page = 5;
    Zweiteres so was wie: $current_page = intval($_GET['page']);


    Der Aufruf erfolgt dann z.B. über index.php?page=1 oder index.php?page=2 für die zweite Seite.

    Mit den 2 Variablen ($per_page und $current_page) kannst du dann deine Abfrage modifizieren (siehe ersten Link), du hast ja zum einen die Anzahl der Artikel pro Seite und dann noch die aktuelle Seitenzahl. Auf der ersten Seite sollen nur die Artikel 1 bis 5 angezeigt werden, auf der zweiten die Artikel 6 bis 10 uws.


    (Und wenn du richtig faul bist, unter „PHP pagination“ dürfte es über Google massig Beispiele geben ;))
     
  3. newmacuser24

    newmacuser24 Antonowka

    Dabei seit:
    27.12.05
    Beiträge:
    355
    VIELEN DANK! Werd mich gleich mal mitten ins Gewusel stürzen :)
     

Diese Seite empfehlen