Jan: Selektionsmenge in 5er Gruppen aufteilen?!?

hallo,

wie ist es denn möglich, die ergebnisse einer SELECT-abrage in gruppen zu unterteilen?
also es sollen aus der gesamten ergebnismenge praktisch immer nur 5 ergebnisse untereinander aufgelistet werden u durch klicken auf einen VORWÄRTS-button kommt man eben zu den nächsten 5 bzw. durch ZURÜCK eben eine gruppe zurück.
wie ist denn sowas am einfachsten zu realisieren.
hier mal unser skript, mit dem bis jetzt erstmal alle ergebnisse untereinander aufgelistet werden (ohne gruppenbildung):

$ergebnis1 = mysql_query("SELECT A1_ALL,A9_FOTO,A3_ORT,A2_NAME,A4_BGF,A5_PREIS FROM haupt WHERE A4_BGF BETWEEN $flaeche_nutz_min AND $flaeche_nutz_max AND A5_PREIS BETWEEN $preis_kauf_min AND $preis_kauf_max AND D5_BRAN LIKE '%7%'");

$anzahl=mysql_num_rows($ergebnis1);
if ($anzahl == 0)
{
echo "<table border='0'><tr><td width='800' colspan='6' align='middle'><p class='gross'>Es wurden leider keine Einträge gefunden!!!</p></td></tr></table>";
}
else
while ($treffer = mysql_fetch_array($ergebnis1))
{
echo "<table border='0' cellspacing='0' cellpadding='0'>";
echo "<tr><td height='10' bgcolor='#ff9900' colspan='8'> </td></tr>";
echo "<tr>";
echo "<td width='5' bgcolor='#ff9900'>";
echo "</td>";
echo "<td width='45' align='middle'>";
$bild = $treffer['A9_FOTO'];
if ($bild == "")
{
echo "kein Bild";
}
if ($bild == "0")
{
echo "kein Bild";
}
else
{
//echo "<img src='../bilder/$bild' height='40' width='40'>";
}
echo "</td>";
echo "<td width='100' class='klein'>";
echo $treffer['A3_ORT'];
echo "</td>";
echo "<td width='330' class='klein'>";
echo $treffer['A2_NAME'];
echo "</td>";
echo "<td width='100' class='klein'>";
echo $treffer['A4_BGF'];
echo "</td>";
echo "<td width='100' class='klein'>";
echo $treffer['A5_PREIS']."</td><td><a href=wohnen-angebot.php?angebot_nr=".urlencode($treffer['A1_ALL'])."><img src='../graphiken/b_anzeigen1.gif' border='0'></a><br>";
echo "</td>";
echo "</tr>";
echo "<tr><td height='10' bgcolor='#ff9900' colspan='8'> </td></tr>";
echo "</table>";
}

  1. Hallo,

    dazu kann man die limitanweisung in das sql-select einbauen...

    auf dem weiter-link legts du dann immer die aktuellen limits, die wiederum auf der seite in empfang genommen werden und in die sql-anweisung eingesetzt werden...

    limit bei http://www.mysql.com/doc/en/SELECT.html

    Odium

    1. erstmal danke für den tip:

      also das mit der limitanweisung hat erstmal geklappt.
      also wenn die listeseite das erste mal aufgerufen wird, habe ich ihm die LIST-anweisung angehangen, dass er erstmal nur 4 ergebnise anzeigt.

      nun klick ich praktisch auf den weiter-button und nun muss er ja irgendwie wissen, dass schon die ersten 4 ergebnisse angezeigt wurden u er erst mit dem 5. weitermachen soll?

      wie mach ich denn das?

      --auf dem weiter-link legts du dann immer die aktuellen limits, die wiederum auf der seite in empfang genommen werden und in die sql-anweisung eingesetzt werden...--

      diese zeilen habe ich nicht ganz verstanden. kannst du die bitte n bissl ausführlicher schreiben?

      danke jan

      1. Hallo,

        am anfang fragst du ab on ein limit über den querystring angehangen wurde

        z.B.

        deineseite.php?limit=5

        diesen parameter kannst du aus der url holen und an an die sql-anweisung an der richtigen stelle übergeben...

        danach umwandeln in zahl --> + 5

        und beim link "weiter" als neues "deineseite.php?limit=" . die variable

        Odium

  2. Hallo,

    wie ist es denn möglich, die ergebnisse einer SELECT-abrage in gruppen zu unterteilen?
    also es sollen aus der gesamten ergebnismenge praktisch immer nur 5 ergebnisse untereinander aufgelistet werden u durch klicken auf einen VORWÄRTS-button kommt man eben zu den nächsten 5 bzw. durch ZURÜCK eben eine gruppe zurück.
    wie ist denn sowas am einfachsten zu realisieren.

    Etwas in dieser Art habe ich hier realisiert:
    http://www.vnunet.de/internet-pro/webdesign/detail.asp?ArticleID=5048&AT=0&Page=3&RefID=0

    Die im Originaltext vorhandenen &-Definitionen (fuer &anz=)haben wohl nicht ueberlebt ...

    MfG, Thomas