Seitenzahlenfunktion aber wie?

Hi,

hab es jetzt so in meinem Code eingefügt:

PHP:
 if ($f == "archiv" AND $act != "show") {
    eval ("\$archiv_header = \"".tmpl("archiv_header")."\";");
    echo $archiv_header;

    $canzahl = mysql_query("SELECT count(*) FROM ".$prefix."_news");
    $anzahl = mysql_fetch_array($canzahl);


$anzahlproseite=5; 
if(!isset($seite) || $seite=="") 
{ 
    $seite=0; 
} 

$eintraege=mysql_numrows(mysql_query("SELECT * FROM ".$prefix."_news")); 
$seiten=$eintraege/$anzahlproseite; 
$start=$seite*$anzahlproseite; 
$stop=$start+$anzahlproseite;


    if ($datac["top"] == "1") {
       $a = $datac["top_limit"] + $datac["top_rlimit"];
       $sqln = mysql_query("SELECT * FROM ".$prefix."_news ORDER BY date desc LIMIT ".$start.",".$stop."");
    } else
       $sqln = mysql_query("SELECT * FROM ".$prefix."_news ORDER BY date desc LIMIT ".$start.",".$stop."");




    while ($data = mysql_fetch_assoc($sqln)){
          if (empty($data[picwidth2])) $pre = $datac[pic];
          else $pre = $data[picwidth2];
          $t = explode("x", $pre);
          $width = $t[0];
          $height = $t[1];

          if ($data[pic])
             $NEWS[pic] = "<img src=\"$data[pic]\" width=\"$width\" height=\"$height\" border=\"0\" alt=\"\">";
          else $NEWS[pic] = "";

          $comanzahl = mysql_query("SELECT count(*) FROM ".$prefix."_comments WHERE id = '$data[id]'");
          $comm = mysql_fetch_array($comanzahl);

          if ($comm[0] == "1") $comment = "$comm[0] $COMMENT[sg_name]";
          else $comment = "$comm[0] $COMMENT[pl_name]";

          setlocale (LC_TIME, "ge");
          $data[date] =  strftime("$datac[post_date]", $data[date]);
          $sqlu = mysql_query("SELECT * FROM ".$prefix."_user WHERE user = '$data[writer]'");
          $datau = mysql_fetch_assoc($sqlu);

          if ($datau[user] != $data[writer]) $datau[user] = $data[writer];
          else $datau[user] = $datau[user];

          if ($datac["complink"] == "0") {
             eval ("\$archiv = \"".tmpl("archiv")."\";");
             echo $archiv;
          } else {
                 eval ("\$archiv = \"".tmpl("index_news")."\";");
                 echo $archiv;
          }

   }

$zurueck=$seite-1; 
echo"<center>";
echo"<a href=\"".$PHP_SELF."?f=archiv&seite=".$zurueck."\">zurück - </a>"; 
for($i=0;$i<$seiten;$i++) 
{ 
    if($i==$seite) 
    { 
        echo"<b><a href=\"".$PHP_SELF."?f=archiv&seite=".$i."\">".$i." </a></b>"; 
    } 
    else 
    { 
        echo"<a href=\"".$PHP_SELF."?f=archiv&seite=".$i."\">".$i." </a>"; 
    } 
} 
$vor=$seite+1; 
echo"<a href=\"".$PHP_SELF."?f=archiv&seite=".$vor."\"> - vor</a>";
echo "</center>";


    eval ("\$archiv_footer = \"".tmpl("archiv_footer")."\";");
    echo $archiv_footer;

So weit das auch,
aber auf der ersten Seite werden wie geplant 5 News angezeigt auf der nächsten Seite aber schon 10.
Auf der nächsten dann wieder mehr.

Aber es wird angezeigt das es 17 seiten sind.
Die letzte Seite enthält auch nur einen Beitrag.

Woran kann das liegen?

-Pixelschubser-

[Edit]Und wie kann ich es machen das die erste seite 1 ist und nicht 0?[/Edit]
 
Zuletzt bearbeitet:
Okay,

hab es jetzt hin das immer 5 news angezeigt werden.

Aber die Ausgabe der Seitenzahlen sieht jetzt so aus:

<< zurück - 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 - vor>>

Wie mache ich es jetzt das es eine Seite 0 nicht gibt und ich nach 17 nicht weiterblättern kann?

Ach ja und wie macht man es das die aktuelle Seite keinen Link hat?

-Pixelschubser-

P.S. mir dröhnt der schädel....

hier mein aktueller code:
PHP:
 if ($f == "archiv" AND $act != "show") {
    eval ("\$archiv_header = \"".tmpl("archiv_header")."\";");
    echo $archiv_header;

    $canzahl = mysql_query("SELECT count(*) FROM ".$prefix."_news");
    $anzahl = mysql_fetch_array($canzahl);

//Seitenzahlen festlegen
$anzahlproseite=5; 
if(!isset($seite) || $seite=="") 
{ 
    $seite=1; 
} 

$eintraege=mysql_numrows(mysql_query("SELECT * FROM ".$prefix."_news")); 
$seiten=ceil($eintraege/$anzahlproseite); 
$start=($seite-1)*$anzahlproseite; 
$stop=$anzahlproseite;
//Ende des ersten Teiles


    if ($datac["top"] == "1") {
       $a = $datac["top_limit"] + $datac["top_rlimit"];
       $sqln = mysql_query("SELECT * FROM ".$prefix."_news ORDER BY date desc LIMIT ".$start.",".$stop."");
    } else
       $sqln = mysql_query("SELECT * FROM ".$prefix."_news ORDER BY date desc LIMIT ".$start.",".$stop."");




    while ($data = mysql_fetch_assoc($sqln)){
          if (empty($data[picwidth2])) $pre = $datac[pic];
          else $pre = $data[picwidth2];
          $t = explode("x", $pre);
          $width = $t[0];
          $height = $t[1];

          if ($data[pic])
             $NEWS[pic] = "<img src=\"$data[pic]\" width=\"$width\" height=\"$height\" border=\"0\" alt=\"\">";
          else $NEWS[pic] = "";

          $comanzahl = mysql_query("SELECT count(*) FROM ".$prefix."_comments WHERE id = '$data[id]'");
          $comm = mysql_fetch_array($comanzahl);

          if ($comm[0] == "1") $comment = "$comm[0] $COMMENT[sg_name]";
          else $comment = "$comm[0] $COMMENT[pl_name]";

          setlocale (LC_TIME, "ge");
          $data[date] =  strftime("$datac[post_date]", $data[date]);
          $sqlu = mysql_query("SELECT * FROM ".$prefix."_user WHERE user = '$data[writer]'");
          $datau = mysql_fetch_assoc($sqlu);

          if ($datau[user] != $data[writer]) $datau[user] = $data[writer];
          else $datau[user] = $datau[user];

          if ($datac["complink"] == "0") {
             eval ("\$archiv = \"".tmpl("archiv")."\";");
             echo $archiv;
          } else {
                 eval ("\$archiv = \"".tmpl("index_news")."\";");
                 echo $archiv;
          }

   }
//Seitenzahlen Ausgeben
$zurueck=$seite-1; 
echo"<center>";
echo"<a href=\"".$PHP_SELF."?f=archiv&seite=".$zurueck."\"><< zurück </a> - "; 
for($i=0;$i<$seiten;$i++) 
{ 
    if($i==$seite) 
    { 
        echo"<b><a href=\"".$PHP_SELF."?f=archiv&seite=".$i."\">".$i." </a></b>"; 
    } 
    else 
    { 
        echo"<a href=\"".$PHP_SELF."?f=archiv&seite=".$i."\">".$i." </a>"; 
    } 
} 
$vor=$seite+1; 
echo" - <a href=\"".$PHP_SELF."?f=archiv&seite=".$vor."\">vor >></a>";
echo "</center>";
//Ende der Seitenzahlen Ausgabe

    eval ("\$archiv_footer = \"".tmpl("archiv_footer")."\";");
    echo $archiv_footer;
 
PHP:
$stop=$start+$anzahlproseite; 
$sqln = mysql_query("SELECT * FROM ".$prefix."_news ORDER BY date desc LIMIT ".$start.",".$stop."");
Da ist der Fehler, das 2. Argument von LIMIT gibt nicht das BIS an sondern wieviele. Also einfach auf das hier abändern
PHP:
 $sqln = mysql_query("SELECT * FROM ".$prefix."_news ORDER BY date desc LIMIT ".$start.",".$anzahlproseite."");
 
hmmm...

also das hat nichts gebracht.

wird immer noch seite 0 angezeigt und die seite 18 usw gibt es auch noch weiterhin...

Was sollte das denn bewirken?

-Pixelschubser-
 
PHP:
//Seitenzahlen Ausgeben 
$zurueck=$seite-1; 
echo"<center>"; 
if($seite != 1) {echo"<a href=\"".$PHP_SELF."?f=archiv&seite=".$zurueck."\"><< zurück </a> - ";  }
for($i=1;$i<$seiten;$i++) 
{ 
    if($i==$seite) 
    { 
        echo"<b><a href=\"".$PHP_SELF."?f=archiv&seite=".$i."\">".$i." </a></b>"; 
    } 
    else 
    { 
        echo"<a href=\"".$PHP_SELF."?f=archiv&seite=".$i."\">".$i." </a>"; 
    } 
} 
$vor=$seite+1; 
if($seite != $seiten) {echo" - <a href=\"".$PHP_SELF."?f=archiv&seite=".$vor."\">vor >></a>"; }
echo "</center>";

sollte das Problem eigentlich beheben...

EDIT: sorry das eben war ein cross-posting, ich hatte den 2. Eintrag von dir noch nicht gelesen als ich auf antwort geklickt habe...
 
Hi,

das es gibt keine Seite 0 mehr.
Und wenn ich auf Seite 1 bin kann ich nicht zur Seite 0 zurück.
Nur leider kann ich wenn ich auf Seite 17 bin noch zur Seite 18 weiter.

-Pixelschubser-

P.S. Ist es möglich das die aktuelle Seite keinen Link hat.
 
Dir dröhnt der Schädel?
Wovon denn?
Du lässt dir hier doch alles vorkauen... :(

So schweer sollte es echt nicht sein, das so abzuändern, dass es bei 1 losgeht.

Poste bitte nochmal deinen kompletten Code, so wie du ihn jetzt hast.
 
Das Problem bei den Komplett-Script-Postings ist, dass der Problem-Frage-Steller den Code übernimmt und nicht weiter darüber nachdenkt. Und sobald irgendetwas nicht funktioniert ist schnell der nächste Post fällig ...
 
Naja, ich bin davon ausgegangen, dass er den Code schon selbst fabriziert hat und jetzt nur zu faul ist ;)
Tjoa, ich meine die Anzahl der fertigen Scripts, mit Seitenfunktion ist auch nicht grade niedrig, man könnt sich, wenn man 0 Ahnung hat auch einfach nen neues runterladen...
 
Zurück