ERLEDIGT
NEIN
NEIN
ANTWORTEN
10
10
ZUGRIFFE
1081
1081
EMPFEHLEN
-
26.12.04 17:36 #1
Hallo allerseits!
Ich weiss, dass dieses Thema schon mehrmals aufgegriffen wurde, aber ich habe ein
spezifisches Problem. Übrigens: Der Code ist nicht von mir und zwar habe ich mir das Tutorial vom Dunsti hier zu Hilfe genommen.
Also, zu meinem Problem: Ich habe jetzt 13 Testeinträge und ich habe die Beiträge pro Seite auf 5 begrenzt. D.h. jetzt sollte es 3 Seiten geben mit (5,5 und 3 Einträgen).
Die Links werden jetzt auch erzeugt, aber die 13 Einträge werden auf allen 3 Links angezeigt, d.h. die Beiträge werden nicht getrennt.
Ich bin noch ein ziemlicher PHP-Anfänger (deshalb auch das Tuturial vom Dunsti), und ich vermute, dass ich einfach irgendwo ein Überlegungsfehler gemacht habe bzw. etwas zu viel gelöscht habe.
Ich bin dankbar um jede Hilfe.
Gruss, Matthias
PS: Momentan ist das Testbeispiel hier auffindbar: Gästebuch-TestPHP-Code:$db = mysql_connect ($host,$id,$pw);
mysql_select_db ($database);
$sql = "SELECT * FROM gbook";
$result = mysql_query($sql,$db);
$number = mysql_num_rows($result);
$proseite = "5";
$seiten = floor($number/$proseite);
$sql= "SELECT * FROM table LIMIT $start,$proseite";
$result = mysql_query($sql,$db);
echo "<table width=520px align=center>Zur Zeit sind $number Einträge im Gästebuch</table> <BR> \n";
if ($page>0) {
$i=$page-1;
echo "<table width=520px align=center><A HREF=\"guestbook_code3.php?page=$i\">previous</A> | ";
}
for($i=0; $i<=$seiten; $i++) {
if ($i==$page) {
echo $i." ";
}
else {
echo "<A HREF=\"guestbook_code3.php?page=$i\">$i</A> ";
}
}
if ($page<$seiten) {
$i=$page+1;
echo " | <A HREF=\"guestbook_code3.php?page=$i\">next</A></table>";
}
-
Die Variable $start wird nirgends deklariert.
»
-
26.12.04 21:31 #3
Ok, das habe ich jetzt geändert, funktioniert aber immer noch nicht. Und zwar werden
die Einträge einfach nicht getrennt (momentan auf 5 Einträge pro Seite gesetzt).
Das ist mein aktueller Code:
(Dateiname: guestbook_code3.php)
Ich weiss wirklich nicht, wo das Problem liegt....PHP-Code:<?php
$proseite=5;
$db = mysql_connect ($host,$id,$pw);
mysql_select_db ($database);
$sql = "SELECT * FROM gbook";
$result = mysql_query($sql,$db);
$number = mysql_num_rows($result);
$seiten=floor($number/$proseite);
$start=$page * $proseite;
$sql="SELECT * FROM gbook LIMIT $start,$proseite";
$result = mysql_query($sql,$db);
$ende = $start + $proseite;
if ($ende>$number) { $ende = $number; }
echo "<table width=\"520px\" align=\"center\">Zur Zeit sind $number Einträge im Gästebuch</table> <BR> \n";
echo "<table width=\"520px\" align=\"center\">Seite $page - Einträge von $start bis $ende</table> <BR> \n";
if ($page>0) {
$i=$page-1;
echo "<div align=\"center\"><tr><td><A HREF=\"guestbook_code3.php?page=$i\"><<</A> ";
}
for($i=0; $i<=$seiten; $i++) {
if ($i==$page) {
echo $i." ";
}
else {
echo "<A HREF=\"guestbook_code3.php?page=$i\">$i</A> ";
}
}
if ($page<$seiten) {
$i=$page+1;
echo " <A HREF=\"guestbook_code3.php?page=$i\">>></A></div>";
}
?>
-
27.12.04 12:03 #4
Kann mir keiner sagen, wie ich die Datensätze aufsplitten kann, damit ich diese auf mehreren Seiten anzeigen kann?
-
Das Einzige, was mir aufgefallen ist, ist:
if ($page>0) { würde ich zu if (isset($page) && $page>=0) {
und
$seiten=floor($number/$proseite); zu $seiten=ceil($number/$proseite);
ändern.
floor = abrunden: 13 / 5 = 2,6 also 2
ceil = aufrunden 13 / 5 = 2,6 also 3
ausserdem ist ein "nicht die feine Art" eine Variable in Anführungszeichen auszugeben. z.B.
Du schreibst:
ich würde schreiben:PHP-Code:$sql="SELECT * FROM gbook LIMIT $start,$proseite";
PHP-Code:$sql="SELECT * FROM gbook LIMIT ".$start.",".$proseite;
Geändert von Xaicon (27.12.04 um 12:36 Uhr)
press any key to continue...
-
27.12.04 12:25 #6
Ich muss aber aufrunden (ceil). Nehmen wir an, ich habe 18 Einträge und verteile diese auf 5er-Seiten (5 Einträge pro Seite), dann werden die Einträge 16-18 noch angezeigt, wenn ich jedoch abrunde, werden diese gelöscht. Oder liege ich falsch?
-
deswegen schreibe ich ja von "floor" zu "ceil" ändern.
press any key to continue...
-
27.12.04 12:30 #8
ups, sorry! man kann auch zu schnell lesen... sorry!
-
hm, ich hatte jetzt wohl auch einen kleinen Denkfehler drin, aber hier noch mal überarbeitet...
PHP-Code:<?php
$proseite=5;
if(!isset($page)){$page=1;}
$db = mysql_connect ($host,$id,$pw);
mysql_select_db ($database);
$sql = "SELECT * FROM gbook";
$result = mysql_query($sql,$db);
$number = mysql_num_rows($result);
$seiten = ceil($number/$proseite);
$start=$page * $proseite - $proseite;
$sql="SELECT * FROM gbook LIMIT ".$start.",".$proseite;
$result = mysql_query($sql,$db);
$ende = $start + $proseite;
if ($ende>$number) { $ende = $number; }
echo "<div width=\"520px\" align=\"center\">Zur Zeit sind ".$number." Einträge im Gästebuch</div> <BR> \n";
echo "<div width=\"520px\" align=\"center\">Seite ".$page." - Einträge von ".$start." bis ".$ende."</div> <BR> \n <div align=\"center\">";
if ($page>1) {
$i=$page-1;
echo "<A HREF=\"".$_SERVER['PHP_SELF']."?page=".$i."\"><<</A> ";
}
for($i=1; $i<=$seiten; $i++) {
if ($i==$page) {
echo $i." ";
}
else {
echo "<A HREF=\"".$_SERVER['PHP_SELF']."?page=".$i."\">".$i."</A> ";
}
}
if ($page<$seiten) {
$i=$page+1;
echo " <A HREF=\"".$_SERVER['PHP_SELF']."?page=".$i."\">>></A>";
}
echo "</div>";
?>press any key to continue...
-
27.12.04 13:08 #10
Danke für deine Mithilfe, aber jetzt werden gar keine Daten mehr angezeigt.
Hier ist die Testversion.
Im Attachement habe ich noch den ganzen Code geuploadet (also das ganze Guestbook)
-
Der von mir gepostete Code ist auch nur die Seitennavigation, mit erstellung des Querystrings für die Ausgebe. Mehr hattest Du oben auch nicht gepostet.
Was Du noch brauchst sähe in etwa so aus:
Wie Deine Tabellenfelder für Name ect. heissen weiss ich ja nicht.PHP-Code:while ($output = mysql_fech_array($result)) {
echo $output["name"]."<br>\n".$output["datum"]."<br>\n".$output["nachrigcht"]."<br>\n";
...
}
Dein Attachment kann ich leider nicht öffen, da ich mich hier gerade auf Arbeit langweile, und die Jungs von der Sicherheit .txt-Dateien anscheinend nicht durch den WatchGuard lassen... (paranoiede Spinner
)
press any key to continue...
Ähnliche Themen
-
re: gästebuch / mehrere seiten
Von masterspot im Forum PHPAntworten: 17Letzter Beitrag: 28.04.05, 15:42 -
Seiten im Gästebuch
Von Bakan im Forum PHPAntworten: 2Letzter Beitrag: 24.01.05, 17:50 -
Gästebuch mit mehreren Seiten...
Von stonk im Forum PHPAntworten: 12Letzter Beitrag: 03.01.05, 13:20 -
Gästebuch auf mehreren Seiten mit PHP
Von iLu_is_a_loser im Forum PHPAntworten: 4Letzter Beitrag: 02.01.05, 12:54





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren