PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : problem mit blätterscript


schnubbirz
28.04.2006, 16:22:12
Moin moin,

ich bin gerade dabei ein Gästebuch zu programmieren. Genauer gesagt hänge ich gerade bei einer Blätterfunktion fest. Hier mein Code-Teil bei dem ich nicht mehr weiterkomme:

# Nur die 10 Einträge anzeigen lassen, die die akutelle Seite ausgeben soll:
for($x=($anzahl-$anzeige*$page+$anzeige)-1; $x>($anzahl-$anzeige*$page)-1; $x--){
# Nur ausgeben wenn $x grösser als 0 ist:
if($x >= 0){

$sql = "SELECT
Name,
Datum,
Email,
ICQ,
Homepage,
Inhalt
FROM
gaestebuch
ORDER BY
Datum DESC";

$result = mysql_query($sql) OR die(mysql_error());
while($row = mysql_fetch_assoc($result)) {

#Hier kommt dann die Formatierung und die eigentliche Ausgabe der Einträge
?>


Jetzt stehe ich vor dem Problem, das er bei jeder for()-Schleife ALLE Gästebucheinträge anzeigt. Hat jemand eine Idee, wie ich das kombinieren kann, dass er bei jeder for()-Schleife nur einen Eintrag anzeigt, aber beim nächsten Durchlauf trotzdem den nächsten Eintrag anzeigt? Bis jetzt hab ich es nur hinbekommen, dass er immer den selben Eintrag anzeigt.

Vielen Dank schonmal im Vorraus,
MFG

Valentin
28.04.2006, 18:27:47
Hallo,

ich glaube das stichwort LIMIT könnte dir weiterhelfen ;)

MfG
V@lentin

schnubbirz
04.05.2006, 17:40:21
Vielen Dank, auf die Idee bin ich garnicht gekommen. Hab das soweit jetzt eingebaut, aber leider hab ich immer noch ein Problem. Hab eingestellt, dass er 5 Artikel pro Seite ausgeben soll. Das macht er soweit auch, nur dass er auf der zweiten seite 4 einträge zuviel ausgibt, und dafür auf der dritten seite einen zuwenig (hab zu testzwecken mal 15 einträge angelegt)...hier das script (bzw. der interessante teil. oberen teil hab ich mal weggelassen, ich denke da liegt der fehler nicht):



echo "<br><br>";
echo "<p>Einträge im Gästebuch: ".$anzahl."</p><a href=\"index.php?section=guestb_add\">Neuer Eintrag</a>";
echo "<hr>";

$limit_a = $anzeige * $page + 1 - $anzeige;
$limit_e = $limit_a + $anzeige -1;

$sql = "SELECT
Name,
Datum,
Email,
ICQ,
Homepage,
Inhalt
FROM
gaestebuch
ORDER BY
Datum DESC
LIMIT $limit_a, $limit_e";

$result = mysql_query($sql) OR die(mysql_error());
while($row = mysql_fetch_assoc($result)) {

echo "".$limit_a."<br>";
echo $limit_e;

?>

<table width="80%" cellpadding="1px" cellspacing="0px" style="table-layout:fixed;">
<tr>
<td class="ueberschrift_gb" style="width:45%;" align="left" border="0"><?php echo$row['Name']; ?></td>
<td class="ueberschrift_gb" style="width:50%;" align="right" border="0" colspan="2"><?php echo "".DatumsWandler($row['Datum']).""; ?></td>
</tr>
<tr>
<td class="table_gb" colspan="3" style="width:100%;" align="left"><br /><?php echo "".nl2br($row['Inhalt'])."";?><br /><br /></td>
</tr>
<tr>
<td class="table_gb_homepage" style="width:50%;"><?php
if(trim($row['Homepage']) != "") {
if(strtolower(substr($row['Homepage'], 0, 7)) == "http://") {
echo "<a href=\"".$row['Homepage']."\">Homepage</a>";
}
else {
echo "<a href=\"http://".$row['Homepage']."\">Homepage</a>";
}
}
else
{
echo "Keine Homepage";
}
?></td>
<td class="table_gb_email" style="width:40%;"><?php
if(trim($row['Email']) == "") {
echo "Keine Email";
}
else
{
?><a href="mailto:<?php echo$row['Email'];?>">E-Mail</a><?php
}
?>
</td>
<td class="table_gb_icq" style="width:10%;" valign="top"><?php
if(trim($row['ICQ']) == "") {
echo "Kein ICQ";
}
else
{
?><a href="http://wwp.icq.com/scripts/search.dll?to="<?php echo$row['ICQ']; ?>" border="0"><img src="http://web.icq.com/whitepages/online?icq=<?php echo$row['ICQ']; ?>&img=5" border="0" alt="<?php echo$row['ICQ']; ?>" title="icq"></a><?php
}
?></td>
</tr>
</table><br><br><br><?php
};

echo "<hr>";
echo "<a href=\"index.php?section=guestb_add\">Neuer Eintrag</a><p>Einträge im Gästebuch: ".$anzahl."</p>";
echo "<br><br>";

?>



zur livebesichtigung: Hier klicken! (http://schnubbi.sc.ohost.de/kernies/index.php?section=test)

Vielen Dank schonmal, MFG

schnubbirz
04.05.2006, 17:42:51
live besichtigung funzt nich richtig...mach ich nachher

Serp
04.05.2006, 19:52:06
Der zweite Parameter gibt nicht die Nummer des letzten anzuzeigenden Elements an, sondern die Anzahl, die insgesamt angezeigt werden soll. Da muss also immer ne 5 stehen.

schnubbirz
05.05.2006, 07:05:47
vielen dank...jetzt geht es wunderbar