Gästebuch eintrags nummern
Agent
- php
Hi,
also ich habe ein Gästebuch geschrieben. nun wollte ich jeden eintrag eine nummer zuweisen. soweit so gut, nur wenn ich jetzt auf der zweiten seite gehe macht der da nicht mehr weiter. Beispiel hier:
http://www.gsc-team.7to.de/test/gaestebuch.php
Hier der Quellcode
____________________________________________
<?php
$limit = 2;
if(empty($start))
{
$start = 0;
}
mysql_connect("","","") or die ("mysql_error()");
mysql_select_db("") or die ("mysql_error()");
$eintraege = "<b>".mysql_num_rows(mysql_query("select id from guestbook"))."</b>";
$eintraege2 = mysql_num_rows(mysql_query("select id from guestbook"));
echo "<table width="100%" border="0" bordercolor="black">";
echo "<tr>";
echo " <td>Willkommen in unserem Gästebuch. Bitte tragt euch doch mal ein ;-). Es sind ".$eintraege." Einträge vorhanden</TD>";
echo "</tr>";
echo "</table>";
echo "<table width="100%" border="0" bordercolor="black">";
echo "<tr align="center">";
echo " <td><A HREF="eintragen.php">Eintragen</A></td>";
echo "</tr>";
echo "</TABLE>";
$i = $eintraege2;
$sql = mysql_query("SELECT * FROM guestbook ORDER BY date DESC LIMIT $start,$limit");
while ($row = mysql_fetch_array ($sql))
{
echo "<TABLE width="100%" border="1" bordercolor="black">";
echo "<TR>";
echo " <TD bgcolor="#3399FF"width="20%">";
echo "<B>".$row["name"]."</B>";
echo " <br><br>";
echo $row["email"];
echo " <br>";
echo $row["homepage"];
echo " <br>";
echo $row["ort"];
echo " <br>";
echo $row["icq"];
echo " <br>";
echo $row["aim"];
echo " <br>";
echo $row["messenger"];
echo " </TD>";
echo " <TD bgcolor="#33CCFF" width="80%" valign="top">";
echo $row["title"];
echo " - ";
echo $row["date"];
echo " , ";
echo $row["time"];
echo " <hr color="#000000">";
echo $row["comment"];
echo " </TD>";
echo "</TR>";
echo "<TR>";
echo " <TD bgcolor="#3399FF" width="20%">";
echo " Eintrag Nr. <b>".($i); $i--."</b>";
echo " </TD>";
echo " ";
echo " <TD bgcolor="#3399FF" width="80%" align="right">";
echo " <b>".$gbkom_anzahl."</b>";
echo $komment;
echo " </TD>";
echo "</TR>";
echo "</TABLE>";
}
echo "<TABLE width="100%" border="0" bordercolor="black">";
echo "<TR align="center">";
echo " <TD><A HREF="eintragen.php">Eintragen</A></TD>";
echo "</TR>";
echo "</TABLE>";
$back = $start - $limit;
$start = $start + $limit;
if($back < 0)
{
$zurueck = "zurück";
}
else
{
$zurueck = "<a href="gaestebuch.php?start=".$back."">zurück</a>";
}
if($start > $i)
{
$vor = "weiter";
}
else
{
$vor = "<a href="gaestebuch.php?start=".$start."">weiter</a>";
}
echo "<div align=center>";
echo "<table border=2 bordercolor="#808080" cellspacing=0 cellpadding=0>";
echo "<tr><td class="bodytop">Navigation</td></tr>";
echo "<td class="bodymain" valign=top>";
echo " ".$zurueck." | ".$vor." ";
echo "</td></tr></table>";
?>
<style>
table {
border:1;
border-color:#000000;
border-collapse:collapse;
}
</style>
_____________________________________
Ich hoffe ihr könnt mir helfen, für antworten vorab schonmal danke...
Cu Agent007
also ich habe ein Gästebuch geschrieben.
Hurra!
nun wollte ich jeden eintrag eine nummer zuweisen. soweit so gut, nur wenn ich jetzt auf der zweiten seite gehe macht der da nicht mehr weiter. Beispiel hier:
http://www.gsc-team.7to.de/test/gaestebuch.php
$eintraege = "<b>".mysql_num_rows(mysql_query("select id from guestbook"))."</b>";
$eintraege2 = mysql_num_rows(mysql_query("select id from guestbook"));
Wie wär's mit
$eintraege2=$eintraege;
Zweimal hintereinander die Datenbank mit dem gleichen Befehl bemühen, ist nicht gerade der feine Stil.
$i = $eintraege2;
$sql = mysql_query("SELECT * FROM guestbook ORDER BY date DESC LIMIT $start,$limit");
while ($row = mysql_fetch_array ($sql))
{
echo "<TABLE width="100%" border="1" bordercolor="black">";
Ein Attribut bordercolor gibt es nicht (offiziell).
echo "<TR>";
echo " <TD bgcolor="#3399FF"width="20%">";
--------------------------------------^^
Leerzeichen!
echo "<B>".$row["name"]."</B>";
Genau, so gibt man von Benutzern eingegebene Daten richtig aus. Ungeprüft und ungesichert in die Welt hinausblasen.. ;>
echo " Eintrag Nr. <b>".($i); $i--."</b>";
Da ist mir der Sinn nicht so ganz klar. Du setzt $i auf die Gesamtzahl aller Einträge und gibst dann hier jeweils die Gesamtzahl abwärts zählend aus, sprich auf jeder Seite erscheint Gesamtzahl bis Gesamtzahl-Anzahl Einträge pro Seite.
}
if($start > $i)
{
$vor = "weiter";
}
else
{
$vor = "<a href="gaestebuch.php?start=".$start."">weiter</a>";
}
Siehe oben, Du solltest Dir erstmal über Sinn und Zweck von $i klar werden. IMHO besser wäre hier
if ($start > $eintraege)
<style>
Stylesheets gehören in den <head>-Block.
Ich hoffe ihr könnt mir helfen, für antworten vorab schonmal danke...
Bitte, bitte :)
Gruß,
soenk.e (auch ohne Doppelnull mit der Lizenz zum Gästebuch terminieren)
Hi,
und wo hast du jetzt meine frage beantwortet?
Cu Agent