Selektionsmenge in 5er Gruppen aufteilen?!?
Jan
- php
0 Odium0 Thomas Meinike
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>";
}
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
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
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
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