php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.11.2004, 21:58  
Erfahrener Benutzer
 
Registriert seit: 27.11.2004
Beiträge: 149
nsane
nsane eine Nachricht über ICQ schicken
Standard Blättern in Gästebuch auf Dateibasis

Hi,

ich habe schon ein bischen im Internet rumgestöbert, und habe bisher nur wege gefunden, eine "Blätter-Funktion" in das Gästebuch einzubauen, welche auf PHP und MySQL basiert haben. Nun wollte ich fragen, wie ich das jetzt realiesiere, wenn ich ein Gästebuch auf Dateibasis habe.
In dieser Datei wird je Zeile ein Eintrag gespeichert, und neuere Einträge werden unten drangehängt. So, ich hatte mir das irgendwie so gedacht, dass ich das per GET, und mit einer forschleife mache.
Und wenn dann der Wert der Variable, welche die Einträge Je Seite speichert überschritten wird, dann soll ein Link kommen, an den ich dann ?seite=2 anhänge. Und dann muss auf der Seite noch eine Abfrage sein, in der steht

PHP-Code:
if ($_GET[seite]=="1") {
 
// Hier für die 1.Seite }
if ($_GET[seite]=="2") {
 
// Hier für die 2.Seite } 
Nur was jetzt an dieser Methode sehr dumm wäre, ich müsste irgendwie die oben genannten Abfragen immer erweitern, das wäre dann nicht von alleine Arbeitsfähig, das Gästebuch !!
Ich hoffe, Ihr könnt mir helfen, danke
nsane ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 27.11.2004, 22:17  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
$eintraege=file($datei);
$pro_seite=10;
if(
$_GET['position']){
$position=$_GET['position'];
} else {
$position=0;
}
for(
$i=$position;$i<$position+$pro_seite;$i++){
//in $eintrage[$i] sind die daten des aktuellen eintrag
}

//die schleife zum blättern
$count=count($eintraege);
for(
$seite=1;$seite<=floor(($count+$pro_seite-1)/$pro_seite);$seite++){
echo 
"[url='guestbook.php?position=" . ($seite-1)*$pro_seite "']" $seite "[/url]";

einfach mal so hingeschrieben, keine funktionalitätsgarantie
besonders die zeile $seite<=floor(($count+$pro_seite-1)/$pro_seite); könnte man nochmal überdenken^^
 
Alt 27.11.2004, 22:19  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

hier mal per text erklärt wie du vorgehen solltest... ^^ php code is kürzer als die erklärung aber egal

also ... du liest jede zeile in ein array -> und dann wenn du seite=1 hast werden eben alle einträge im array ausgelesen bei dennen die id 0-9 ist... wenn du seite 2 hast werden alle einträge im array angezeigt die die id 10-19 haben --> wenn du das array füllst werden die indexe automatisch von 0 an aufwärts mitgezählt so hast du nicht das problem das mal die id 15 fehlt z.b.

und das mit dem link machste so ... nachdem du alle einträge im array hast zählste die einträge -> z.b. 103 dann teilste das durch die einträge die du auf einer seite sehen willst (oben sinds 10 einträge) also -> 10.3dann rundest dus auf weil ja sonst beim runden 10 rauskommt und so die letzten 3 einträge abgeschnitten sind -> also 11 dann musst du halt per schleife 11 links erstellen seite 1->11

und wenn du eben dein array zum anzeigen ausliest und hast halt die seite 3 angeklickt machste eben [$seite (3) * $einträge pro seite (10) ] - $einträge pro seite
so haste dann die einträge ab 20 und dann machste eben + $einträge pro seite - 1
dann haste 29 -> ergo alle einträge zwischen 20 und 29 werden angezeigt -> perfekt ^^

hoffentlich verstehst es so nen bissl
Flor1an ist offline  
Alt 27.11.2004, 22:24  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von RaZoR
php code is kürzer als die erklärung aber egal
php-code hab ich für dich geposted
 
Alt 28.11.2004, 10:04  
Erfahrener Benutzer
 
Registriert seit: 27.11.2004
Beiträge: 149
nsane
nsane eine Nachricht über ICQ schicken
Standard

Vielen Dank für die schnellen und guten Antworten, ich werde das dann mal ausprobieren. Mir sagt die Funktion floor von burner.nst noch nix, aber "selbst ist der mann^^", so werde ich einfach mal bei php.net reinschauen !!!
nsane ist offline  
Alt 28.11.2004, 13:17  
Erfahrener Benutzer
 
Registriert seit: 27.11.2004
Beiträge: 149
nsane
nsane eine Nachricht über ICQ schicken
Standard

@burner.nst: deine for-Schleife durchläuft jetzt aber die Datei von vorne nach hinten, wie kann ich das machen, dass die letzten Einträge als erstes angezeigt werden.
Und nochwas, wenn ich dein Script so einsetzte, un ich nur 1en eintrag habe, dann werden 9 andere leere Eintrage angezeigt !!!
nsane ist offline  
Alt 28.11.2004, 13:19  
Gast
 
Beiträge: n/a
Standard

1. array_reverse()
2. mit if($eintrage[$i]) prüfen ob es überhaupt einen eintrag gibt
 
Alt 28.11.2004, 13:20  
Gast
 
Beiträge: n/a
Standard

Drehe das Array (array_reverse), prüfe die Anzahl Elemente (count) und beende die Schleife, wenn die Anzahl überschritten wird (break) oder setze das noch in die for-Zeile rein.

Gruß
phpfan
 
Alt 22.01.2005, 21:02  
Neuer Benutzer
 
Registriert seit: 22.01.2005
Beiträge: 23
Weyoun
Weyoun eine Nachricht über ICQ schicken
Standard

Auf meiner Page http://www.mopzz.de findest Du unter downloads ein von mir programmiertes PHP Gästebuch auf Dateibasis. Das kannst Dir ja mal runterladen und Dir den Code anschauen!
__________________
Weyoun ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Benutzerverwanltung auf Dateibasis ?? nsane PHP Tipps 2004-2 11 24.12.2004 14:43

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
gästebuch blättern, php array blättern, gästebuch zum blättern, php gästebuch blättern, gästebuch zum umblättern, gästebuch umblättern, blätter für gästebuch, gästebuch blätterfunktion, array blättern php, g, blättern gästebuch, php durch array blättern, gästebuch blätter, for schleife blättern, array blättern, gästebuch seiten blättern, datei basierende blätterfunktion, gästebuch blättern php, gästebuch einzelne blätter, php gästebuch seite blättern

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:43 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.