# ausgabe auf mehrere seiten verteilen!



## redback79 (24. März 2002)

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

//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


----------



## dave_ (24. März 2002)

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.


----------



## redback79 (24. März 2002)

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


----------



## dave_ (24. März 2002)

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.


----------



## Dunsti (25. März 2002)

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


----------



## dave_ (25. März 2002)

ER LEBT  
ich hoffe das wird mal bald wieder mehr !

p.s. ich dachte das hat er sich angepasst..


----------



## redback79 (25. März 2002)

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:


```
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


----------



## carolina31 (28. Januar 2011)

Hallo,
könntest du bitte dein funktionierendes Script posten. Bei mir ****t es auch iwie nicht so.


----------



## Yaslaw (28. Januar 2011)

Denkst du wirklich, dass er das nacht 9 Jahren noch macht?
was hast du den bereits? Was heisst, 'tut nicht'? Kommen Fehlermeldungen?

Ansonsten, hier eine komplexe Lösung
http://wiki.yaslaw.info/wikka/PhpListNavigation


----------



## carolina31 (28. Januar 2011)

Ich hab erst nach meinem Post bemerkt, dass das schon 9 Jahre her ist ^^
Danke für deinen Link.


----------

