Begrenzte Anzahl von Datensetzen anzeigen :)
Christoph H.
- php
0 Phil
Hey Leude,
ich hab ein kleines Problem und zwar möchte ich die Datenausgabe in meinem PHP-Script begrenzen und zwar auf 40.
O.k. wäre kein Problem einfach an den Query LIMIT 40 anhängen.
Ich möchte aber das auf der Seite nur 40 angezeigt werden sollen und
es einen "weiter" und "zurück" gibt. Mit einem Klick auf diesen Button sollen dann die nächsten 40 Stück angezeigt werden.Wie z.B
bei Google.
Das im Forum zu finden Skript hilft leider keinem wirklich weiter, es funktioniert so nicht, kann gar nicht!
Sitze seit 5 Stunden davor und kann mir nicht vorstellen, dass dies
so schwer sein kann, aber ich bekomme es nicht hin,Gehirnfasching halt!
meine Tabelle sieht wie folgt aus:
<table>
</tr>
<?php
$db = mysql_connect("$host","$user","$pass");
if($sort==0){
$sqlab = "select * from platten_test where label = '".$label_info."' and deleted = '0' ORDER BY artist LIMIT 40";
}
else{
switch($sort)
{
case 1: $sqlab = "select * from platten_test where label = '".$label_info."' and deleted = '0' ORDER BY artist LIMIT 40";break;
case 2: $sqlab = "select * from platten_test where label = '".$label_info."' and deleted = '0' ORDER BY name LIMIT 40";break;
case 3: $sqlab = "select * from platten_test where label = '".$label_info."' and deleted = '0' ORDER BY format LIMIT 40";break;
case 4: $sqlab = "select * from platten_test where label = '".$label_info."' and deleted = '0' ORDER BY preis LIMIT 40";break;
case 5: $sqlab = "select * from platten_test where label = '".$label_info."' and deleted = '0' ORDER BY bestellnr LIMIT 40";
}
}
$res = mysql_db_query("$data", $sqlab);
$num = mysql_affected_rows();
//echo $num;
while($i<$num) {
$id = mysql_result($res, $i, "id");
$name = mysql_result($res, $i, "name");
$artist = mysql_result($res, $i, "artist");
$label = mysql_result($res, $i, "label");
$format = mysql_result($res, $i, "format");
$preis = mysql_result($res, $i, "preis");
$info = mysql_result($res, $i, "info");
$bestnr =mysql_result($res, $i, "bestellnr");
echo "<form action="" name="pname".$i."" method=post>
<tr onmouseover="setPointer(this, 'over', '#EAE2DC', '#EFD0B4', '#EAE2DC')" onmouseout="setPointer(this, 'out', '#EAE2DC', '#EFD0B4', '#EAE2DC')" onmousedown="setPointer(this, 'click', '#EAE2DC', '#EFD0B4', '#EAE2DC')">
<td bgcolor="#EAE2DC" class="tabellencopy">".htmlspecialchars($artist)."</td>
<td bgcolor="#EAE2DC" class="tabellencopy">".htmlspecialchars($name)."</td>
<td bgcolor="#EAE2DC"align="center" class="tabellencopy">".htmlspecialchars($format)."</span></td>
<td bgcolor="#EAE2DC" align="center">
<img onmouseover="dcc
('".htmlspecialchars($info)."','Info'); return true;" onMouseOut="nd(); return true; " src="../images/info_button.gif" border="0"></td>
<td bgcolor="#EAE2DC" align="center" class="tabellencopy">".$preis." €</span></td>
<td bgcolor="#EAE2DC" align="center" class="tabellencopy">".htmlspecialchars($bestnr)."</span></td>
<td bgcolor="#EAE2DC" align="center">";
if($preis!=0){
echo "<input type="image" alt="In den Warenkorb legen" src="../images/order.gif" onClick="document.pname".$i.".action='../script/insert_warenkorb.php?id=".urldecode($id)."&name=".urldecode($name)."&artist=".urldecode($artist)."&label=".urldecode($label)."&format=".urldecode($format)."&preis=".urldecode($preis)."&info=".urldecode($info)."&bestellnr=".urldecode($bestnr)."&sid=".$session_id."'"></td></tr></form>";
}
else{
echo "<span class="tabellencopy"><nobr>sold out!</nobr></span></td></tr></form>";
}
$i++;
}
mysql_close($db);
?>
</td></tr></table>
in der While Schleife werden die Datensätze ermittelt, und nur 40 ausgegeben.
Kann mir bitte einer helfen?
An den Anfang der Seite:
$auswahl=mysql_query("SELECT * FROM table");
$num=mysql_num_rows($auswahl);
$max="20";
$seiten=ceil($num/$max);
if(empty($start)) {$start="0";}
Dort, wo der Link hin soll:
Seite: <?
for($j=0; $j<$seiten; $j++)
{
echo "<a href="index.php?site=js&start=",$j*$max,"">[",$j+1,"]</a> ";
}?>
ich denke, dass du als PHP-Könner da durchsteigst ;)
Wenn nicht, schick ne Mail an zahnspangenterminator@yahoo.de
CU
http://www.yubb.de
An den Anfang der Seite:
$auswahl=mysql_query("SELECT * FROM table");
$num=mysql_num_rows($auswahl);
$max="20";
$seiten=ceil($num/$max);
if(empty($start)) {$start="0";}
Dort, wo der Link hin soll:
Seite: <?
for($j=0; $j<$seiten; $j++)
{
echo "<a href="index.php?site=js&start=",$j*$max,"">[",$j+1,"]</a> ";
}?>
ich denke, dass du als PHP-Könner da durchsteigst ;)
Wenn nicht, schick ne Mail an zahnspangenterminator@yahoo.de
CU
http://www.yubb.de
Danke ich versuchs sofort einmal :)