ausgabe auf mehrere seiten verteilen!

redback79

Erfahrenes Mitglied
folgendes problem!

ich hab mir dunstis (danke!!!) tutorial zum thema "ausgabe auf mehrere seiten verteilen" näher angeschaut!
leider blick ich was die ausgabe anbelangt nicht recht durch! :-(

ich rufe das skript mit einem link wie folgendem auf:
<a href=guestbook.php?page=1>gästebuch</a> (..wobei page die anzuzeigende seite ist!)

hier der code zur guestbook.php

PHP:
<?PHP

//allgemeine varialbeln definieren!
$sqlhost='localhost';
$username='daniel';
$passwort='xyz';
$database='guestbook';
$proseite=10; //anzahl der einträge pro seite!

//datenbank verbindung herstellen!
$db = mysql_connect ($sqlhost,$username,$passwort);
mysql_select_db ($database);

$sql = "SELECT * FROM guestbook";
$result = mysql_query($sql,$db);
$number = mysql_num_rows($result);
$seiten=floor($number/$proseite);
$start=$page * $proseite;
$sql="SELECT * FROM table LIMIT $start,$proseite";
$result = mysql_query($sql,$db);
$ende = $start + $proseite;

if ($ende>$number) { 
$ende = $number; 
}

//Ausgabe!!
echo "Zur Zeit sind $number Einträge im Gästebuch <BR> \n";
echo "Seite $page - Einträge von $start bis $ende <BR> \n";
while ($row = mysql_fetch_row($result)) {
	echo "Eintrag von: ".$row['name']." <BR> \n";
	echo $row['message']."<BR> \n";
	}

// schaltflächen vorwärts, zurück und seitenauswahl!
if ($page>0) {
	$i=$page-1;
	echo "<A HREF=\"guestbook.php?page=$i\">&lt;previous</A>";
}
for($i=0; $i<=$seiten; $i++) {
	if ($i==$page) {
		echo $i."&nbsp;";
	}
	else {
		echo "<A HREF=\"guestbook.php?page=$i\">$i</A>&nbsp;";
	}
}
if ($page<$seiten) {
	$i=$page+1;
	echo "<A HREF=\"guestbook.php?page=$i\">next&gt;</A>";
}
?>

leider gibt er mir bei der ausgabe immer folgende fehlermeldung:

Warning: Supplied argument is not a valid MySQL result resource in C:\apache\htdocs\...\guestbook.php on line xxx

(wobei sich xxx auf die zeile
while ($row = mysql_fetch_row($result))
...bezieht!)

kann es sein, dass es ein problem damit gibt, dass meine db und die tabelle denselben namen heben?? (..sehr unglücklich, ich weiss:-))

please help!


ps. worauf muss ich achten, wenn ich mein bestehendes gästebuch mit dieser "zusatzfunktion" ausrüsten will??

pps. nähere erklärungen zum skript unter dunstis tutorial:
http://www.tutorials.de/forum/showthread.php?threadid=6083
 
hmm und das script hat gefunzt, bevor du das mit der seitenverzeilung gemacht hast ?

schreibe mal anstatt LIMIT $start, $proseite -- LIMIT 0, 5 und schaue ob das geht. Wenn ja, ist eine variable nicht gesetzt, also $start oder $stop. aber auf anhieb finde ich nichts.

du kannst auch mal ?page=0 versuchen.
 
danke erst mal, (meine gute fee hier im forum *gg*)

ich habe deine vorschläge ausprobiert und.... hat leider nichts genützt! :-(

dafür bin ich dem fehler aber zumindest teilweise auf die schliche gekommen, denn in meinem skript wurde die variable $result DOPPELT definiert...


jetzt gibt er mir zwar die gb einträge aus, aber immer noch alle auf einmal! #grrr


wenn du's mal versuchen könntest, ich hab die datei angehängt!


THX
 

Anhänge

gleich mal 2 dinge:

du hast oben gleich $page = 0 definiert, das ist nicht unbedingt klug, da dann $page immer 0 ist, und das willst du ja nicht.

schreibe einfach if(! isset($page)) $page =="0"; - wenn $page nicht gesetzt ist, setzt es auf 0.

ausserdem hast du die variable $sql 2* belegt.
 
muss mich hier auch ma zu Wort melden ;)

1.) daß die Variablen $result und $sql zweimal definiert werden ist OK, da diese nur kurzzeitig benötigt werden. (zu dem Zeitpunkt, wo sie neu definiert werden werden sie schon nicht mehr gebraucht)

2.) Fehler: die Zeile $sql="SELECT * FROM table LIMIT $start,$proseite"; muss natürlich heissen $sql="SELECT * FROM guestbook LIMIT $start,$proseite";

ansonsten ist alles richtig !!! :)


Dunsti
 
ER LEBT :-)
ich hoffe das wird mal bald wieder mehr !

p.s. ich dachte das hat er sich angepasst.. :)
 
danke allerseits!

inzwischen hab ich das skript zum laufen gebraucht und an meine bedürfnisse angepasst... :-)

was mich aber noch interessieren würde, ist die sache mit dem <<back / forward>> (das geht noch..)
dazwischen steht ja die liste mit den vorhandenen seiten, die dann als links ausgegeben werden...

was bedeutet:

PHP:
for($i=0; $i<=$seiten; $i++) {
	if ($i==$page) {
		echo $i."&nbsp;";
	}
	else {
		echo "<A HREF=\"guestbook.php?page=$i\">$i</A>&nbsp;";

vor allem das mit dem . opereator seh ich nicht! was bringt der in diesem zusammenhang?? ..und was bringt das if / else da... (sorry, aber dieser code verwirrt micht total!)

..ist sicherlich mal wieder eines dieser "ach logisch" erlebnisse wenn ich die antwort zu gesicht bekomme! :-)


mfg redback
 
Zurück