Gästebuch sortieren...

Feldhofe

Erfahrenes Mitglied
Hallo!

Ich habe folgendes Problem, vielleicht kann mir jemand weiterhelfen:

Ich habe ein Gästebuch mit PHP und mySQL-Datenbank entworfen, welches folgende Angaben des Besuchers einträgt:

0 - Beitags-ID
1 - Name
2 - e-Mail
3 - Datum
4 - Zeit
5 - Wohnort
6 - Homepage
7 - URL derselben und auch die
8 - Nachricht.

Die Einträge werden alle auf einer Seite dargestellt, und zwar so, daß die mit der größten Beitrags-ID oben stehen.
Dies ist mir aber zu unübersichtlich, deshalb sollten in Zukunft nur 10 Beiträge pro Seite dargestellt werden.

Wenn man auf einen Link "nächste 10" klickt (oder auch auf eine Linkleiste, mit der man gleich af alle Seiten zugreifen kann), soll man dann auf die betreffende Seite kommen, wo wieder jeweils 10 Einträge stehen usw.

Nur, wie kann ich das in PHP umsetzen?
Ich bin ein bißchen ratlos...
Das Anzeigen der neuesten 10 ist ja kein Problem...aber der Rest!

Wäre super, wenn mir jemand helfen könnte!!

Gruß
Feldhofe
--
Hier der PHP-Code der Ausgabeseite:

<? echo "<link rel=stylesheet type='text/css' href='formate.css'>";

include("db_open_close.php");
db_open ();

$result = mysql_query("select zahl,name,email,datum,zeit,ort,homepage,hptitel,nachricht from gast order by zahl desc");

print "
<body bgcolor='#3366CC' text='white' link='yellow' vlink='yellow' alink='red'>
<font face=verdana class=gross><b>Gästebuch.<b></font>

<p><br>

<table border=0>
<tr><td align=left width=400><font face=verdana size=-1></font></td></tr>

";

function print_result_table1($result)
{
while ($row = mysql_fetch_row($result))
{
print "

<tr><td width='400'><font face=verdana size=-1>
<a href=mailto:$row[2]>$row[1]</a> aus $row[5] schrieb am $row[3] um $row[4] Uhr:<p>
$row[8]<p>
<a href=$row[6] target=_blank>$row[7]</a>
<p>
<hr>
</td></tr>

" ;

}

echo" </td></tr></table>";

}
print_result_table1($result);


?>
 
PHP:
if (!isset($start)) {$start=0;}
$result = mysql_query("SELECT * FROM gast ORDER BY zahl DESC LIMIT $start,10");
echo "<a href=\"$PHP_SELF?start=".($start+10)."\">weiter</a>";

HopeThatHelps,
lexi.
 
Super!

Hey, super, danke!!

Mit so einer schnellen Antwort hätte ich ja gar nicht gerechnet! Hab vielen Dank!!!
Es funktioniert genau, wie ichs mir vorgestellt habe. Aber wie kann man umgehen, daß nach der letzten Seite immer noch die Möglichkeit zum Weiterblättern besteht? Man kann danach nämlich noch beliebig lange leere Seiten durchblättern... :)

Gruß
Feldhofe
 
du kannst mit mysql_num_rows($rows_der_gbtable); die zeilen der tabelle zählen. wenn jetzt der startpunkt über der zeilenzahl ist, gibst du einfach false zurücke. hoffe du verstehst mich :)
 

Neue Beiträge

Zurück