Ümblätterfunktion von Dunsti geht BEI MIR net

MegaOiml

Mitglied
Hi Leute!
Ich hab mal das Tutorial von Dunsti gemacht und versucht das ganze in mein Gästebuch einzubauen, aber vergeblich. Es wird nicht umgeblättert, es bleiben einfach so viele Einträge pro Seite wie es insgesamt sind. Könnt ihr euch vielleicht mal anschaun was daran falsch ist:
PHP:
<?php
include ("db_connect.php");

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

if ($ende>$number) { $ende = $number; }
$abfrage ="SELECT * FROM gbook order by time DESC";
$ergebnis = mysql_query($abfrage);
echo "<table width=\"100%\" border=\"0\" class=\"tabelle-mitte\">
<colgroup>
  <col width=\"35%\">
  <col width=\"65%\">
 </colgroup>\n";
echo "<tr align=\"left\"><td colspan=\"2\" class=\"menuschrift-groß\">TEM Guestbook</td></tr>\n"; 

echo "<tr align=\"center\"><td colspan=\"2\"  class=\"menuschrift\">Insgesamt $number Einträge</td></tr>\n";
echo "<tr align=\"center\"><td colspan=\"2\"  class=\"fett\">[ <a href=\"formular.php\">Eintragen</a> ]</td></tr>\n";
while($row = mysql_fetch_object($ergebnis))
{
echo "<tr><td colspan=\"2\" class=\"menuschrift\">Dies ist der ". $row->id .". Eintrag</td></tr>\n";
///Blahblahblah
echo "</table>\n";
echo "Seite $page - Einträge von $start bis $ende <BR> \n";

if ($page>0) {
	$i=$page-1;
	echo "<A HREF=\"index.php?page=$i\">&lt;previous</A>";
}
for($i=0; $i<=$seiten; $i++) {
	if ($i==$page) {
		echo $i."&nbsp;";
	}
	else {
		echo "<A HREF=\"index.php?page=$i\">$i</A>&nbsp;";
	}
}
if ($page<$seiten) {
	$i=$page+1;
	echo "<A HREF=\"index.php?page=$i\">next&gt;</A>";
}
?>
Thx
Gruß!
 
Versuchs ma so ;)

PHP:
include ("db_connect.php");


// Einträge pro Seite
$eintraege_pro_seite = 10;

// Berechnung der Seitenanzahl
list($gesamt) = mysql_fetch_row(mysql_query("SELECT COUNT(*) FROM ".$tab));
$num_sites = ceil($gesamt/$eintraege_pro_seite);

// korrigieren der aktuellen Seite
if(empty($_GET['site'])) {
    $site = 1;
} elseif($_GET['site'] <= 0 || $_GET['site'] > $num_sites) {
    $site = 1;
} else {
    $site = $_GET['site'];
}

// Linkkette
$links = array();
// "<<"-Link (eine Seite zurück)
if($site != 1) {
    // if überprüft, ob wir uns nicht auf der ersten Seite befinden
    $prev = $site-1;
    $links[] = '<a href="seitenaufteilung.php?site='.$prev.'">&laquo;</a>';
}
for($i=1;$i<=$num_sites;$i++) {
    if($i == $site) {
        // aktuelle Seite, ein Link ist nicht erforderlich
        $links[] = $i;
    } else {
        $links[] = '<a href="seitenaufteilung.php?site='.$i.'">'.$i.'</a>';
    }
}
// ">>"-link (ein Seite weiter)
if($site != $num_sites) {
    // if überprüft, ob wir uns nicht auf der letzten Seite befinden
    $next = $site+1;
    $links[] = '<a href="seitenaufteilung.php?site='.$next.'">&raquo;</a>';
}
// Zusammenfügen der einzelnen Links zu einem String
$link_string = implode(" | ", $links);

$start = ($site-1)*$eintraege_pro_seite;

$abfrage ="SELECT * FROM `gbook` ORDER BY `time` DESC LIMIT ".$start.",".$eintraege_pro_seite."";
$ergebnis = mysql_query($abfrage);
echo "<table width=\"100%\" border=\"0\" class=\"tabelle-mitte\">
<colgroup>
  <col width=\"35%\">
  <col width=\"65%\">
</colgroup>\n";
echo "<tr align=\"left\"><td colspan=\"2\" class=\"menuschrift-groß\">TEM Guestbook</td></tr>\n";

echo "<tr align=\"center\"><td colspan=\"2\"  class=\"menuschrift\">Insgesamt $number Einträge</td></tr>\n";
echo "<tr align=\"center\"><td colspan=\"2\"  class=\"fett\">[ <a href=\"formular.php\">Eintragen</a> ]</td></tr>\n";
while($row = mysql_fetch_object($ergebnis))
{
echo "<tr><td colspan=\"2\" class=\"menuschrift\">Dies ist der ". $row->id .". Eintrag</td></tr>\n";
///Blahblahblah
echo "</table>\n";

echo $link_string;
 
Zuletzt bearbeitet:
Leider auch nicht

Tut mir Leid, da kommt : Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/www/web21/html/ne/gbook/index.php on line 16
und
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/www/web21/html/ne/gbook/index.php on line 66

Woran könnt des liegen?
Thx
 
Oh, sry, hab DESC an die Falsche Stelle getan ^^ So sollte es gehen:

PHP:
$abfrage ="SELECT * FROM `gbook` ORDER BY `time` DESC LIMIT ".$start.",".$eintraege_pro_seite."";
 
Es kommt leider immernoch Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/www/web21/html/ne/gbook/index.php on line 16
und wenn ich auf den angezeigten Pfeil klicke, bleibe ich auf der Seite, auf der ich grade bin, dasselbe wenn ich es in die Adressleiste eingeb.
Trotzdem Danke!
 
Original geschrieben von MegaOiml
Es kommt leider immernoch Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/www/web21/html/ne/gbook/index.php on line 16
und wenn ich auf den angezeigten Pfeil klicke, bleibe ich auf der Seite, auf der ich grade bin, dasselbe wenn ich es in die Adressleiste eingeb.
Trotzdem Danke!

Dann muss in die Zeile, welche das result zu Tage führt eine Fehlerabfrage dahinter à la
PHP:
$result = mysql_query($query) or die(mysql_error());

Und es sollte recht schnell klar werden, wo das Problem liegt.
 
Jetzt kommt:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/www/web21/html/ne/gbook/index.php on line 16
You have an error in your SQL syntax near '' at line 1
 
Mache aus folgendem Konstrukt
PHP:
list($gesamt) = mysql_fetch_row(mysql_query("SELECT COUNT(*) FROM ".$tab));
Jenes hier, da man, wenn man das Query direkt in der Klammer von mysql_query positioniert, nicht den String unterbrechen kann und per . Variablen anhängen kann.
PHP:
$query = "SELECT COUNT(*) FROM ".$tab;
$result = mysql_query($query) or die(mysql_error());
list($gesamt) = mysql_fetch_row($result);

Wenn er sagt, das es keine gültige Result Resource ist, muss man halt dahin gehen, wo diese erschaffen wird (mysql_query()) und dort ein or die(mysql_error()) platzieren.
 
Danke, jetzt ist der eine Fehler weg, aber es kommt immer noch You have an error in your SQL syntax near '' at line 1 und in Zeile 1 steht bei mir <html>! :(
 
Zurück