Gästebucheinträge auf mehrere Seiten verteilen

Yoda

Gesperrt
Tag auch,
ich habe ein Gästebuch geschrieben, stehe jetzt aber vor dem Problem, dass ich nicht weiß wie man die Einträge auf mehrere Seiten verteillt. D.h. ich möchte dass immer nur neusten 10 Einträge meines
Gästebuches angezeigt werden. Unten soll man per Link eine Seite vor und zurück gehen können.
Kann mir jemand einen Denkanstoss geben ?
MfG Pcnub
 
blubb ist voll easy.. hab mich heut auch erstmal damit vertraut gemacht!
PHP:
// -- Seiten
// allgemeiner teil
$proseite = 5 ; // Wieviele Einträge pro seite!
$seiten_s = "SELECT * FROM deinnewstable" ;
$seiten_r = mysql_query($seiten_s) ;
$number = mysql_num_rows($seiten_r);
$seiten = floor($number/$proseite);
$start = $page * $proseite;
// damit werden Seite:0 1 2 3 ausgegeben!
echo "<table width=80%><div align=left><font color='#cccccc' size='2'>Seite: " ;
for($i=0; $i<=$seiten; $i++) {
        echo "<A HREF=\"?site=news&action=show&page=$i\">$i</A>&nbsp;";
    }
echo "</div></table></font><hr align='center' width='80%' size='1'> ";
// -- Ende
$sql = "SELECT * FROM dein newstable LIMIT $start,$proseite"; // LIMIT $start,$proseite muss dahinter stehen in deinem query befehl!
Dein Link sieht dann wenn die ORDER DESC ist guestbook.php?page=0 aus!
 
Hallo,

ich habe versucht den snipsel von alive in meinem Script einzubinden.
Leider funktioniert er nicht so wie ich es möchte.
Also die Kategorien werden aufgelistet und die dazugehörigen
Seitenzahlen werden auch erstellt.
Nur wenn ich eine Zahl anklicke geht das Script wieder zurück zur
Ausgangsposition.

Was stimmt da nicht ?
Bin voll verzweifelt, da ich schon sehr lange dran sitze.
Selbst das Tutorials Script von Dunsti haut da nicht hin.
Dunsti

Ich bekomme ebenfalls eine Notice Meldung :
Undefined variable: page

Wie soll ich sie definieren ?

PHP:
<?php
if(isset($_POST['abfrage'])) {
 $all_ok = TRUE;
if(empty($kat_1)) {
 $all_ok = FALSE;
echo "leer";
}
} else {
 $all_ok = FALSE;
}
if(!$all_ok) {
?>
<form method="post" action="<?php echo basename ($_SERVER['PHP_SELF']) ?>?links=raus">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="90%">  
 <tr>
  <td align="center" valign="top"> 
	<select name="kat_1" size="5">
	 <optgroup label="Kategorie auswählen">
	  <option value="hardware">Hardware</option>
	  <option value="software">Software</option>
	  <option value="tools">Tools</option>
	  <option value="linux">Linux</option>
	  <option value="windows">Windows</option>
	  <option value="music">Music</option>
	  <option value="video">Video</option>
	  <option value="spiele">Spiele</option>		
	  <option value="sonstiges">sonstiges</option>
	 </optgroup>
	</select>	   
  </td> 
  <td align="center" valign="top">
  <font color="#000000" size="-1" face="Verdana, sans-serif">
  Wählen Sie Ihre Link - Kategorie<br><u>aus und drücken Sie auf anzeigen !</u><br><br>Es bleiben den Admins überlassen<br>welche Links und Beschreibungen im<br>Linksystem online bleiben !
  </font>
  </td>
 </tr>
 <tr>
  <td align="center"><input type="submit" name="abfrage" value="Anzeige"><input type="hidden" name="ab" value="1"></td>
    <td align="center" colspan="2"><a href="links.php?links=rein"><img src="image/eintrag.gif" border="0" width="100" height="25"></a></td>
 </tr>
</table>
</form>

<?php
} else {
$proseite = 2 ; // Wieviele Einträge pro seite!
$seiten_s = "SELECT * FROM $tablelinks WHERE (kat='".$_POST["kat_1"]."') ORDER BY datum DESC, domain ASC";
$seiten_r = mysql_query($seiten_s) ;
$number = mysql_num_rows($seiten_r);
$seiten = ceil($number/$proseite);
$start = $page * $proseite;
// damit werden Seite:0 1 2 3 ausgegeben!
echo "<table width=80%><div align=left><font color='#cccccc' size='2'>Seite: " ;
for($i=0; $i<=$seiten; $i++) {
        echo "<A HREF=\"links.php?links=raus&page=$i\">$i</A>&nbsp;";
    }
echo "</div></table></font><hr align='center' width='80%' size='1'> ";
// -- Ende
$sql = "SELECT * FROM $tablelinks WHERE (kat='".$_POST["kat_1"]."') LIMIT $start,$proseite"; // LIMIT $start,$proseite muss dahinter stehen in deinem query befehl!
?>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="95%">
<?php
$result = mysql_query($sql, $conn) or die(mysql_error());
while ($row = mysql_fetch_assoc($result)) {
?>
 <tr>
  <td bgcolor="#000000" height="1" colspan="2">
   <table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>
  </td>
 </tr>
 <tr>
  <td width="95%" height="35" colspan="2" bgcolor="#cccccc">
   <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" height="100%">
    <tr>
	 <td width="80%"><font color="#000000" size="-1" face="Verdana, sans-serif"><b>Beschreibung :<br><? echo $row['beschreibung'] ?></b></font></td>
	<td width="20%" align="right" valign="top"><font color="#000000" size="-1" face="Verdana, sans-serif">Klicks : <?php echo $row['count'] ?>&nbsp;</font></td>
	</tr>
   </table>
  </td>  
 </tr>
 <tr>
  <td bgcolor="#eeeeee" width="85%">
   <font size="-1" face="Verdana, sans-serif"> 	 
   <a href="links/licount.php?id=<?php echo $row['id'] ?>" target="_blank" style="color:#000000;text-decoration:none">
   <? echo $row['domain'] ?></a></font>
  </td>
  <td  bgcolor="#eeeeee" width="10%">
   <font color="#000000" size="-2" face="Verdana, sans-serif">Eingetragen am :
   <?php echo substr($row['datum'], 6, 2) . "." . 
    		  substr($row['datum'], 4, 2) . "." .
              substr($row['datum'], 0, 4); ?></font>
  </td>
 </tr>
 <tr>
  <td bgcolor="#000000" height="1" colspan="2">
   <table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>
  </td>
 </tr>
<?php } ?>
</table>
<?php
}
?>

Bitte um Hilfe.


Vielen Dank

euer SaTaN
 
Das liegt vermutlich daran, dass alive etwas unsauber bzw. altmodisch gecodet hat. Korrekterweise müsste man vor der ersten Verwendung von $page noch folgende Zeile einfügen:
PHP:
$page = $_POST["page"];
P.S.: SaTaN, schau dir mal meine Postzahl an. ;)
 
Hallo SilentWarrior,

Jo eine gute Postzahl. :-) 666
leider haut das damit auch nicht hin.
PHP:
$page = $_POST["page"];

Fehlermeldung :
Notice: Undefined index: page

Woran könnte es noch sein ?


Vielen Dank

euer SaTaN
 
Bist du sicher, dass die Variable $page übergeben wird? Und wenn ja, geschieht dies browserintern ("POST") oder über die Adressleiste ("GET")? MIr sagt die Fehlermeldung zwar auch nicht gerade viel, aber ich vermute, die Variable ist ganz einfach nicht vorhanden.
 
Zurück