Seitenaufteilung fehlerhaft

GalaxyWarrior

Erfahrenes Mitglied
Hi, ich hab wieder mal ein Problem.
Ich habe nach einem Tutorial auf dieser Seite eine Seitenaufteilung in mein Gästebuch eingebaut. Aber wenn nun 10 Einträge im GB sind, dann erscheint unten bei den Links schon der link auf seite 2, die dann leer ist. Was habe ich falsch gemacht?
PHP:
<?

$result = mysql_query("SELECT * FROM gb ");
$proseite=10;

//$sql1 = "SELECT * FROM gb";
//$result1 = mysql_query($sql1);
$number = mysql_num_rows($result);
$seite=floor($number/$proseite);
$seiten=$seite + 1;
$start=$page * $proseite;
$sql="SELECT * FROM gb ORDER BY id DESC LIMIT $start,$proseite ";
$result = mysql_query($sql);
$ende = $start + $proseite;

if ($seiten == 1) {
$pagenmr = "einer Seite";
}
else{ $pagenmr = "$seiten Seiten";}

if ($ende > $number) { $ende = $number; }
?>
<center>

  <table border="0" bgcolor="#3f3f3f" width="50%">
    <tr>
      <td valign="top"><span class="text">
<? 		
		echo "Zur Zeit sind $number Einträge auf $pagenmr im Gästebuch <BR> \n";
		//echo "Seite $page - Einträge von $start bis $ende <BR> \n";
?>
      </span></td>
    </tr>
  </table>
  <br>
  <br>



</center>

<? 
if($page == 0) 
{ 
$postnmr = $number;
}else{
$postnmr = $number - ($proseite * $page);
}

while ($daten = mysql_fetch_array($result)) { ?>
<center>
		<table border="0" bgcolor="#3f3f3f" width="50%">
			<tr>
				<td width="23%"><? echo "Nummer";?></td>
				<td width="77%"><? echo $postnmr--; ?></td>
			</tr>
			<tr>
				<td><? echo "Datum" ?></td>
				<td><? echo $daten[Datum]; ?></td>
			</tr>
			<tr>
				<td><? echo "Betreff" ?></td>
				<td><? echo $daten[Betreff]; ?></td>
			</tr>
			<tr>
				<td><? echo "Name" ?></td>
				<td><? echo $daten[Name]; ?></td>
			</tr>
			<tr>
				<td><? echo "Email"; ?></td>
				<td><? echo '<a href="mailto:'.$daten[Email].'">'.$daten[Email].'</a>'; ?></td>
			</tr>
			<tr>
				<td><? echo "Homepage"; ?></td>
				<td><? echo '<a href="'.$daten[Homepage].'">'.$daten[Homepage].'</a>'; ?></td>
			</tr>
<? if($daten[ICQ] > 10000) { ?>
			<tr>
				<td><? echo "ICQ" ?></td>
				<td><? echo '<a href="http://wwp.icq.com/scripts/search.dll?to='.$daten[ICQ].'"><img src="http://wwp.icq.com/scripts/online.dll?icq='.$daten[ICQ].'&img=5" border="0"></a>' ?></td>
			</tr><? } ?>
			<tr>
			  <td valign="top">&nbsp;</td>
			  <td valign="top">
			  <? include ("smilies.php") ?>
			  <? include ("badwords.php") ?>

			  </td>
		  </tr>
			<tr>
				<td valign="top"><? echo "Nachricht" ; ?></td>
				<td valign="top"><? echo "$daten[Nachricht]" ; ?></td>
			</tr>
		</table>
	<br>
	<br>
	<br>
	<br>
</center>
<? } ?>
<center>

  <table border="0" bgcolor="#3f3f3f" width="50%">
    <tr>
      <td valign="top"><span class="text">
        <?

if ($page>0) {
	$i=$page-1;
	echo "<A HREF=\"guestbook.php?page=$i\">&lt;previous</A>&nbsp;";
}
for($i=0; $i<=$seite; $i++) {
	if ($i==$page) {
		echo "&nbsp;".($i+1)."&nbsp;";
	}
	else {
		echo "&nbsp;<A HREF=\"guestbook.php?page=$i\">".($i+1)."</A>&nbsp;";
	}
}
if ($page<$seite) {
	$i=$page+1;
	echo "<A HREF=\"guestbook.php?page=$i\">next&gt;</A>";
}?><center><a href="acp/login.php">Admin CP</a></center></span></td>
    </tr>
  </table>
  <br>
  <br>
  <br>
  <br>

Das ist der Ausschnitt aus meinem code wo die seiten aufgeteilt werden.
 
Weiß immernochnet was ich da machen muss , syr :rolleyes:
Kannste mir vieleicht en bissel besser erklären oder Lösung sagen?
Gruß GalaxyWarrior
 
PHP:
$number = mysql_num_rows($result);
$seite=floor($number/$proseite);
Ändere mal diese beiden Zeilen wie folgt:
PHP:
$number = mysql_num_rows($result);
$temp = $number / $proseite;
if (bcmod($temp, 10) == 0) {
    $temp--;
}
$seite=floor($temp);
Ist aber keine wirklich saubere Lösung.
 
Zuletzt bearbeitet:
Zur Info: bcmod / % scheint auf GalaxyWarriors Server irgendwie nicht zu funktionieren (oder ich bin zu doof für die Syntax). Also hat er/haben wir's einfach mit [phpf]is_int[/phpf] gelöst, also so:
PHP:
 $number = mysql_num_rows($result);
$temp = $number / $proseite;
if (is_int($temp)) {
    $temp--;
}
$seite=floor($temp);
 
Zurück