![]() |
[PHP] Gästebuch mit mehreren Seiten
Hey Leute
Ich beschäftige mich seit Kurzem mit PHP und jetzt will ich ein kleines (sehr einfaches) Gästebuch programmieren. Bis jetzt hatte ich auch keine Probleme, aber nun will ich, dass immer nur eine bestimmte Maximalanzahl an Beiträgen pro Seite angezeigt wird (also z. B. 10 Beiträge / Seite). Die restlichen Beiträge sollen erreichbar sein durch Links auf die entsprechenden Seiten -> Zurück 1, 2, 3 Weiter Wie aber realisiere ich, dass immer nur die 10 neusten Beiträge angezeigt werden und der Rest automatisch "verpackt" wird? Aufrufen tue ich das Gästebuch über index.php?site=guestbook Ich hoffe jemand kann mir auf einfache Weise weiterhelfen :) |
Re: [PHP] Gästebuch mit mehreren Seiten
Hi!
Der Schlüssel des ganzen ist der SQL Terminus LIMIT mit dem du die Abfrage der Datenbank eingrenzen kannst, beispielsweise mit LIMIT 10,20 nur die Einträge 10-20 bekommst (oder so ähnlich, hab das schon lange nicht mehr benutzt :gruebel: ) Aber per Google findest du ne Menge dazu, z.B. ![]() |
Re: [PHP] Gästebuch mit mehreren Seiten
Ui ich vergass zu erwähnen, dass ich die Datensätze aus einer Textdatei auslese (ich schreibe das Gästebuch wirklich nur als Übeungszweck) :oops:
|
Re: [PHP] Gästebuch mit mehreren Seiten
ich hatte auch mal eins gemacht,
nicht so perfekt, aber als beispiel reichts ja vll noch.
Code:
<?php
// Einträge pro Seite $config['limit'] = 10; ############################### // Seitenzahl auslesen if (!isset($_GET['page'])){ $_GET['page'] = ""; } // in $count müsste dann die anzahl der einträge stehen. // $count = ... $pcount = ceil($count/$config['limit']); if (!($_GET['page'] >= 1 && $_GET['page'] <= $count) || empty($_GET['page']) || ($_GET['page'] > $pcount)){ $page = 1; }else{ $page = $_GET['page']; } // Seitenzahlen berechnung if ($pcount > 1){ $pages = "Seiten: "; for ($i = 1; $i <= $pcount; $i++){ if ($i == $page) $pages .= "$i"; else $pages .= "<a href=\"index.php?site=guestbook&page=$i\">$i</a>"; if ($i < $pcount) $pages .= ", "; } }else $pages = "Seite: 1"; // Welche Einträge werden angezeigt? $start = $count - $config['limit'] * ($page - 1); $ende = $start - $config['limit'] + 1; if ($ende < 1) $ende = 1; if ($count < 1) $ende = 0; if ($start == $ende){ if ($start == 0) echo " Es sind noch keine Einträge vorhanden. \r\n\r\n"; else echo " Eintrag $start von $count \r\n\r\n"; }else echo " Einträge $ende bis $start von $count \r\n\r\n"; // Seitenzahlen anzeigen. echo " ".$pages." \r\n"; // meine mysql abfrage... ########## #$offset = ($count-$start); #$result = mysql_query("SELECT * FROM `...` ORDER BY id DESC LIMIT $offset, {$config['limit']}"); #while ($row = mysql_fetch_row($result)){ # include("template.php"); #} ########## ?> |
Re: [PHP] Gästebuch mit mehreren Seiten
Danke, dein Code hilft mir schon mal dabei, die Anzahl der Beiträge aufzusplitten und die entsprechenden Links zu setzen. Da ich aber mit einer Textdatei arbeite, habe ich noch ein Problem: wie kann ich jetzt die Beiträge auch auf die entsprechenden Seiten aufteilen. Momentan ist es noch so, dass eben die Seitenzahlen gesetzt werden, jedoch befinden sich noch immer alle Beiträge auf Seite 1.
|
Re: [PHP] Gästebuch mit mehreren Seiten
wie liest du denn die datei bis jetzt aus?
du könntest auch alles in ein array laden, und dann nur die jeweiligen einträge ausgeben oder mit ![]() |
Re: [PHP] Gästebuch mit mehreren Seiten
So ich habe es jetzt geschft! Ich habe deinen Code von oben genommen, NicNacMan, und ihn so erweitert, dass eben immer nur der entsprechende Bereich angezeigt wird mit Hilfe einer kleinen for-Schleife.
Vielen Dank! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz