Hallo leute, habe mir ein Gästebuch mittels PHP erstellt und wollte mir nun eine Blätterfunktion einbauen, damit das GB übersichtlich bleibt... jedoch stosse ich auf ein kleines Problem. Hier zuersteinmal der Code:
PHP-Code:
<?php include("connection.php"); ?>
<html>
<head>
<title>
Gästebuch Projekt
</title>
</head>
<body>
<form action="ubergabe.php" method="POST">
<table border="0" align="center">
<tr>
<th align="left">Name:</th>
<td> </td>
<td><input type="text" name="u_name" value="Name"></td>
</tr>
<tr>
<th>E-Mail Adresse:</th>
<td> </td>
<td><input type="text" name="email" value="E-Mail Adresse"></td>
</tr>
<tr>
<th align="left">Homepage:</th>
<td> </td>
<td><input type="text" name="url" value="http://"></td>
</tr>
<tr>
<th align="left">ICQ:</th>
<td> </td>
<td><input type="text" name="icq" vlaue="000000000"></td>
</tr>
<tr>
<th align="left">Ihre Nachricht:</th>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan="3" align="center"><textarea cols="30" rows="5" value="message" name="message"></textarea></td>
</tr>
<tr>
<td><input type="submit" value="Absenden"></td>
<td> </td>
<td><input type="reset" value="Reset"></td>
</tr>
</table>
</form>
<!-- Die Ausgabe -->
<?php
$proseite = 10;
$sql = "SELECT * FROM gastebuch";
$result = mysql_query($sql);
$number = mysql_num_rows($result);
$seiten = ceil($number/$proseite);
$page = $_GET['page'];
$start = $page * $proseite;
$sql = "SELECT id FROM gastebuch LIMIT $start,$proseite";
$result = mysql_query($sql);
$ende = $start + $proseite;
echo $page;
echo "<p align='center'>";
if($ende > $number) {$ende = $number;
echo "Zur Zeit sind $number Einträge im Gästebuch<br>\n";
echo "Seite $page - Einträge von $start bis $ende<br>\n";
if($page >= $seiten) {
$i=$page -1;
echo "<a href=\"index.php?page=$i\"><previous</a> ";
}
for($i=1; $i<=$seiten; $i++){
if($i==$page){
echo $i." ";
}
else {
echo "<a href=\"index.php?page=$i\">$i</a> ";
}
}
if ($page<$seiten) {
$i=$page+1;
echo "<a href=\"index.php?page=$i\">next></a>";
}
}
$sql = "SELECT * FROM gastebuch ORDER BY id DESC";
$ausgabe = mysql_query($sql) or die("Ausgabe kann nicht generiert werden.");
while($row = mysql_fetch_array($ausgabe)){
echo "<table border='1' width='50%' align='center'><tr>";
echo "<th>Nr.: </th>";
echo "<td align='center'>".$row['id']."</td></tr>";
echo "<tr><th>Eingetragen am: </th>";
echo "<td>".$row['date']."</td></tr>";
echo "<tr><th>Name: </th>";
echo "<td><a href='mailto:".$row['e-mail']."'>".$row['name']."</a></td></tr>";
if($row['url'] == "http://"){
echo "";
}
else{
echo "<tr><th>Homepage: </th>";
echo "<td><a href='".$row['url']."' target='_blank'>".$row['url']."</a></td></tr>";
}
if($row['icq'] == 0){
echo "";
}
else{
echo "<tr><th>ICQ-Nummer: </th>";
echo "<td>".$row['icq']."</td></tr>";
}
echo "<tr><th colspan='2'>Ihre Nachricht: </th></tr>";
echo "<tr><td colspan='2'>".$row['message']."</td></tr>";
echo "</table><br><br>";
}
?>
</body>
</html>
meine probleme sind folgende:
1. die einträge werden immer alle angezeigt... ich komme einfach nicht dahinter wie ich nur die anzahl under der variable $proseite anzeigen lassen kann
2. $proseite darf nicht weniger als 4 sein ansonsten wird der gesamte text zwischen eintrags formular und gb-einträgen nicht angezeigt
3. die $ende wird mir im text nicht richtig angezeigt ... jedoch wenn ich irgendwo im code
schreibe zeigt er die variable richtig an.
4. das <previous soll ab seite 2 immer angezeigt werden ... bis zu einer anzahl von 2 seiten kein problem ... aber ab der 3 seiten wird dieses auf seite 2 nicht angezeigt um auf seite 1 zu gelangen ... und wenn ich dann auf seite 1 klicke dann verschwindet der text wieder wie in problem 2
hoffe das mir hierbei einer ein klein wenig unter die arme greifen kann ... bin zwar kein newbi mehr in sachen php aber hab schon länger nicht mehr damit gearbeitet und die sufu hab ich auch schon genutzt aber leider nichts nützliches zu meinen problemchen gefunden
wäre nett für hilfe danke schonmal im vorraus