Geschrieben von psih am 18.08.2005, 15:03

hi
mit einer einfachen php datei kann man die daten, die man aus der db rausholt auf mehrere seiten verteilen.
die tabelle muss mindestens 2 felder haben id die auto erstellt wird und ein feld
wo die einträge gespeichert werden

als ersets müssen wir die anzahl der ergebnise pro seite eingeben:

$ergebnisseproseite = 5;

wir definieren eine variable mit einer zahl 5 d.h das 5 ergebnisse pro seite angezeigt werden.

jetzt müssen wir zur mysql connecten:

mysql_connect("localhost", "benutzername", "passwort");
mysql_select_db("db_name");

mit mysql_connect connecten wir zu db und mit mysql_select db wehlen wir einen db.

jetzt prüfen wir ob irrgend eine seite ausgewällt ist :

if(!isset($_REQUEST['AktuelleSeite']))
{
$aktuelleseite=0;
}
else
{
$aktuelleseite=$_REQUEST['AktuelleSeite'];
}

isset prüft obh eine variable definiert wurde.

es ist jetzt an der zeit daten aus der db raushollen:

$anzahl= mysql_num_rows(mysql_query("SELECT * FROM pb_eintrag"));
$posts = mysql_query("SELECT * FROM tabelle ORDER BY postid DESC LIMIT $aktuelleseite, $ergebnisseproseite");

mysql_num_row gibt uns die anzahl der datensätze und mysql_query führt SQL befehle aus in unserem fall werden die einträge wegen ORDER BY und DESC den neusten eintrag zu erst ausgeben wenn man DESC wegglässt werden die ergebnisse aufsteigend sortiert.
LIMIT gibt an wie viele datensätze pro durchlauf rausgeholt werden sollen.

jetz hollen wir die daten aus der db :

while ($row = mysql_fetch_object($posts)) {

mit mysql_fetch_object ezeigen wir eine klasse mit daten sätzen. mann könnte das doch auch mit mysql_fetch_row machen ;)

jetzt wird geprüft ob es mehr einträge gibt asl ergebnisse pro seite:

if($anzahl>$ergebnisseproseite)
{
$seiten=intval($anzahl/$ergebnisseproseite);
if($anzahl%$ergebnisseproseite)
{
$Seiten++;
}
}

das müsste jeder verstehen ;)

die ausgabe in eine tabelle:

echo "<table><tr><td>",
$row->feldname,
"</td></tr></table>";

man holt daten aus $row wie aus einer classe aslo $row->feldname.
das alles wird in eine tabelle ausgegeben
stadt feld name musst du den feldname wo die daten sind

jetzt werden die seiten verlinkt :

$ii = 0;
for ($i=0; $i<=$seiten; $i++)
{
$ii++;
if($_GET['aktuelleseite'] == $i){
echo $ii."&nbsp";
}
else
{
echo "&nbsp;<a href=\"",
$_SERVER['PHP_SELF'],
"?aktuelleseite=",
($i),
"\">$ii</a>&nbsp;";
}
}
}

so das wars auch
mit diesen zeilen wird die verlinkung erzeugt;

habt viel spass damit;)
gruss psih

Bewertung Anzahl
4
25,0 %
1 Bewertungen
3
25,0 %
1 Bewertungen
2
25,0 %
1 Bewertungen
1
25,0 %
1 Bewertungen