tittli
Erfahrenes Mitglied
...aber komme einfach nicht weiter. Habe für mein Gästebuch das Tutorial verwendet. Nun werden zwar die Links unten schön ausgegeben. Es werden aber nicht nur 10 Beiträge pro Seite ausgegeben, sondern alle in der DB vorhandenen, und wenn ich unten auf die Links klicke, kommen die gleichen nochmals. Hier mal der Code:
Bitte nicht erschrecken, es ist nicht wirklich viel...habe alles einwenig kommentiert, sodass das nicht so schlimm sein sollte. Auf jeden Fall danke allen, die sich die Mühe machen!
gruss
PHP:
<?php
include("dbconnect.php");
//Datensätze herausholen
$sql = "SELECT * FROM gaestebuch ORDER BY datum DESC";
$select = mysql_query($sql);
//Funktion aus dem Tutorial
function createPages($input = 0, $perpage = 25) {
global $page, $_SERVER;
if ($input == 0)
die("createPages(<b>\$input = $input</b>, \$perpage = $perpage");
if ($input <= $perpage)
return "« <b>1</b> »";
if (!$page || $page < 1) {
$page = 1;
}
$pages = ceil($input / $perpage);
$html = "";
if ($page > 1) {
$html .= "<a href=\"".$_SERVER["PHP_SELF"]."?action="."gb_form"."&page=".($page-1)."\">«</a> ";
} else {
$html .= "« ";
}
for($i = 1; $i <= $pages; $i++) {
if ($i == $page) {
$html .= "<b>".$i."</b> ";
} else {
$html .= "<a href=\"".$_SERVER["PHP_SELF"]."?action="."gb_form"."&page=".$i."\">".$i."</a> ";
}
}
if ($page <= $pages-1) {
$html .= "<a href=\"".$_SERVER["PHP_SELF"]."?action="."gb_form"."&page=".($page+1).">»</a> ";
} else {
$html .= "» ";
}
return $html;
}
function limitSQL($perpage = 10) {
global $page;
if (!$page || $page < 1) {
$page = 1;
}
$min = ($page - 1) * $perpage;
$max = $min + $perpage;
$out = array($min,$max);
return $out;
}
$eintraege = mysql_num_rows($select);
$perpage = 10;
//Ausgabe
while ($row = mysql_fetch_array($select))
{ ?>
<html>
<body>
<table width="100%" border="0">
<tr width="100%">
<td width="80%">
<?php
//Formatierung des Datums
$timestamp = $row["datum"];
$monate = array(
1=>"Januar",
2=>"Februar",
3=>"März",
4=>"April",
5=>"Mai",
6=>"Juni",
7=>"Juli",
8=>"August",
9=>"September",
10=>"Oktober",
11=>"November",
12=>"Dezember");
$tag = date("d", $timestamp);
$monat = date("m", $timestamp);
$jahr = date("Y", $timestamp);
$uhrzeit = date("H:i", $timestamp);
$mo_akt = $monate[$monat];
$datum = "$tag"." "."$mo_akt"." "."$jahr";
$name = $row["name"];
echo "Der Eintrag wurde von $name am $datum um $uhrzeit eingetragen:";
?>
</td>
<td>
<?php
//Für mail und website ein bild herausgeben
$mail = $row["mail"];
$website = $row["website"];
if ($mail != "")
{
echo " <a href=\"mailto:$mail\"><img src=\"em.gif\" border=\"0\" ></a>";
}
if ($website != "")
{
echo " <a href=\"$website\"><img src=\"hp.gif\" border=\"0\"></a>";
}
?>
</td>
</tr>
<tr width="100%">
<td>
<?php
echo $row["text"];
echo "<br>";
?>
</td>
</tr><hr>
</table>
</body>
</html><br><br>
<?php }
//Ausgabe der Blätterlinks
echo createPages($eintraege,$perpage);
$sql = limitSQL($perpage);
echo "<br/><br/><pre>";
//print_r($sql);
echo "</pre>";
?>
Bitte nicht erschrecken, es ist nicht wirklich viel...habe alles einwenig kommentiert, sodass das nicht so schlimm sein sollte. Auf jeden Fall danke allen, die sich die Mühe machen!
gruss