Probleme mit Seitenblätterfunktion

wSam

Erfahrenes Mitglied
Hallo zusammen

Ich habe folgende Seitenblätterfunktion aufgestellt für ein Gästebuch:
Code:
<?php
include("inc/connect.inc.php");
include("function.inc.php");


if(empty($_REQUEST['start']))
    {$_REQUEST['start']="0";}

// Liest Daten aus "tabelle" und setzt 20 Einträge pro Seite
make_pages("tabgbook", 10);
while($row = mysql_fetch_array($data, MYSQL_ASSOC)) {
    echo '<table width="515" border="1" bgcolor="#000000" cellpadding="0" cellspacing="0" align="center">'; .....

Datei function.inc.php:

Code:
<?php
/* die Funktionen */
function make_pages($tabelle, $max = 10) {
    $query = @mysql_query("SELECT * FROM '$tabelle' ORDER BY id DESC"); // Tabelle wählen
    $entries = @mysql_num_rows($query); // Anzahl der Datensätze zählen
    $seiten = ceil($entries/$max); // Errechnen von Seitenanzahl (Gesamt geteilt durch Einträge/Seite)
    $data = mysql_query("SELECT * FROM '$tabelle' ORDER BY id LIMIT '".$_REQUEST['start']."','$max'");

    return $data;
    return $seiten;
    return $max;

}

function list_pages($filename) { //Seiten ausgeben
    global $seiten, $max;
    echo '<a href=" '.$filename.'?start=0">,1,</a>';
    for($i=1; $i<= $seiten; $i++) {
        echo '<a href="'.$filename.'?start='.$i*$max.'">',$i+1,'</a> ';
    }
}
?>

Nun bekomme ich folgende fehlermeldung:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Apache2\htdocs\page\forum\guestbook.php on line 11

Kann mir da jemand einen Tipp geben was ich falsch mache?

Vielen Dank im Voraus und Gruss
 
Vielleicht erstmal die Rückgabe der ganzen SQL-Funktionen überprüfen? Die sinds ja schließlich, worum es bei dem Fehler geht!
 
Hallo Sebbo,

vielleicht hilft Dir mein Code.

PHP:
// Das baust Du im oberen Teil deines PHP Scriptes ein.
if (!isset($HTTP_GET_VARS['start'])) $HTTP_GET_VARS['start'] = 0;
if (!isset($HTTP_GET_VARS['next_start'])) $HTTP_GET_VARS['next_start'] = "0";

$ds_anzahl = "10"; // Hier Kannst Du angeben wieviel Daten ausgegeben werden pro Seite.
if ($num > $ds_anzahl) 
{
$seiten = $num / $ds_anzahl;
$seiten = ceil($seiten);
$i = ($HTTP_GET_VARS['start'] / $ds_anzahl) -1;
if ($i < 1) 
{
$i = 1;
$HTTP_GET_VARS['next_start'] = 0;
}
else $HTTP_GET_VARS['next_start'] = $HTTP_GET_VARS['start'] - (2 * $ds_anzahl);
if (($seiten - $i) >= 5) $seiten1 = $i + 4 ;
else $seiten1 = $seiten;
if ($i >= 2)  echo "<a href='detail.php?start=0'>1</a>&nbsp;&nbsp; ";
for ($i; $i<= $seiten1; $i++) 
{
if ($HTTP_GET_VARS['next_start'] == $HTTP_GET_VARS['start']) echo "<b><a href='detail.php?start={$HTTP_GET_VARS['next_start']}'>[ $i ]</a></b> ";
else echo "<a href='detail.php?start={$HTTP_GET_VARS['next_start']}'>$i</a> ";	
$HTTP_GET_VARS['next_start'] = $HTTP_GET_VARS['next_start'] + $ds_anzahl;
}
$endstart = ($seiten - 1) * $ds_anzahl;
if (($i-1) < $seiten)  echo " &nbsp;&nbsp; <a href='detail.php?start=$endstart'>$seiten</a>";
}
else echo "<b><a href='detail.php?start=0'>[ 1 ]</a></b>";
Gruß Matthiasghh
 
Das halte ich für äußerst verfehlt, diesen Code zu posten. Na ja, ich wiederhole mich hier zum 1000. Mal. :rolleyes:
 
Ja, aber er nützt wenig. Es wäre besser, eine Lösung für den eigenen Code zu ERARBEITEN, als fremden Code einfach nur fertig zu übernehmen. Dabei lernt man nichts. Es sei denn, man analysiert den fremden Code und vollzieht ihn nach -- aber davon ist meist nicht auszugehen.
 
Zurück