![]() |
php guestbook blätter funktion problem
hy leute,
ich hab mir in kleinstarbeit aus verschiedenen anleitungen ein gästebuch nach meinen wünschen zusammen gestrickt das auf TXT basis funktioniert da es sich bei meiner homepage nicht auszahlt eine datenbank zu betreiben.... im prinzip funktioniert alles nach meinen wünschen .... bis auf eines... ich möchte gerne das man einstellen kann das zum beispiel nur 3 einträge pro seite angezeigt werden und das man dan vorwärts und rückwärts blättern kann. hab zwar anleitungen gefunden aber ich check das echt nicht mehr durch -_- wäre nett wenn mir jemand das in meinen code integrieren könnte! index.php (startseite des gb´s in der die einträge angezeigt werden) PHP-Code:
PHP-Code:
neu.php (das formular das zum eintragen benötigt wird!) PHP-Code:
greetz bugfix |
Ich würde mal sagen, dass du dir prinzipiell Gedanken um dein System machen solltest.
Wie gehst du aktuell vor? Schreiben: Anfügen eines neuen Eintrags am Ende der Datei Lesen: Einlesen der gesamten Datei und sortieren. Mach dir mal darüber Gedanken, was passiert, falls dein Gästebuch je über 100 oder gar 1000 Einträge erreicht. Einlesen + Sortieren ist äusserst inperformant. Erstmal würde ich dafür sorgen, dass jeder Eintrag nur einen Zeilenumbruch hat. Das hast du bereits getan. Dann würde ich mir um die Neuorganisation der Daten Gedanken machen. Alternative: Schreiben: schreibe neue Einträge an den Beginn einer Datei und hänge den Rest der 'alten' Datei dran Lesen: Lese nur die ersten drei Zeilen einer Datei und gebe diese danach aus (Tipp: fgets) Achja: Zitat:
|
naj derzeit is es so das alle neue einträge in die datei gästebuchZU.txt kommen dann entscheide ich ob ich den beitrag freigeben möchte und wenn ja führe ich ein s***** aus das mir den inhalt von gäsetbuchZU.txt ausliest und dann an den anfang von gästebuch.txt anfügt... also da hab ich mir schon einige gadanken gemacht ;) ob schätzmativ werden es besten fals mal max 50-70 einträge werden...
wie gesagt es fehlt mir nur die blätter funktion.. greetz |
Zitat:
PHP-Code:
per Get: $offset (Starte mit Beitrag der Nummer) per Konstante: $numPerPages Wie kann man tendentiell vorgehen? 1. Öffnen der Datei fopen() 2. $offset Zeilen lesen mit fgets() und wieder verwerfen 3. $numPerPages Zeilen lesen mit fgets() und Darstellung als gewünschter Eintrag 4. schließen der Datei mit fclose() Natürlich zwischendrin noch sicherstellen, dass die Datei überhaupt genug Zeilen und somit Einträge hat. Grüße, kramido |
naja ich hab es bis jetzt so gelöst das beim eintragen in die gästebuchzu.txt geschrieben wird... wenn ich mich entscheide den beitrag freizugeben wird der gesammte inhalt eingelesen mit und dann in die datei gästebuch.txt geschrieben danach wird die gästebuch.txt gelöscht... beim nächsten neuen eintrag wird die gästebuchZU.txt wieder erstellt und so weiter und so weiter....
beim kopieren wird auch der gesammte inhalt vorne an die gästebuch.txt angehängt so brauch ich nicht sotieren und der neueste inhalt ist immer an erster stelle... greetz |
Zitat:
|
naja ich hab doch ganz oben schon geschrieben das ich das gästebuch aus vielen anleitungen zusammen gebastelt habe weil mir in php teilweise noch ziemlich der plant fehlt...
greetz |
So ich closse das ganze mal hier hab eine lösung gefunden nach dem ich die ganze nacht durchgemacht habe!! Diesmal hat mir das forum genau nüsse geholfen!!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:37 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.