php gästebuch - nicht alles aufeinmal ausgeben sondern seitenweise!
Geizhals » Forum » Software » php gästebuch - nicht alles aufeinmal ausgeben sondern seitenweise! (28 Beiträge, 111 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
.............
ENDLICH klappts so halbwegs
19.11.2004, 12:21:34
habs hinbekommen!

hab zwar noch nie so einen umständlichen code geschrieben wie bei dem gästebuch, aber es klappt.

was auch noch nicht optimal ist, ist dass die datei jedesmal wieder komplett ins array eingelesen wird (also bei jeder gästebuchseite).
muss ich einfach ganz am anfang einmal in ein array auslesen und dann an die funktion gaestebuch_ausgeben per parameter übergeben.


falls es jmd. interessiert - hier die wichtigsten teile des codes (hoffe er ist lerserlich)
schreibt mir doch eure meinung dazu - aber bitte sanft, hab das erste mal sowas selber gemacht ;-)

-----------

das steht noch vor der gaestebuch_zeigen funktion:
if (isset($_GET['index'])) $index = $_GET['index'];

gaestebuch_zeigen($index);

-----------

function gaestebuch_zeigen ($index)
{
   $eintrag=array();
   $lesen=array();
  
   if (file_exists("gbuch.txt")) {
   $datei=fopen("gbuch.txt","r");
   $i=0;                                       //Zähler
   $eintperpage=10;                      //Einträge pro Seite
   while (!feof($datei)) {
      $lesen=fgets($datei,100000);   //liest eine Zeile aus der Datei
      $eintrag[$i]=$lesen;
      $i++;
   }
   $i=$i-2; //da weiß ich selber nicht warum minus 2 - logisch wäre minus 1

   $z=$i; //$z ist einfach Sicherung von $i - somit weiß ich wie viele Einträge es gibt
   $i=$i-$index;
   $stop=$i-$eintperpage;
   for ($i; $i>$stop; $i--){
         $zeile=$eintrag[$i];
         HIER IST DER BEREICH FÜR DIE FORMATIERTE AUSGABE
   }

   $z=floor($z/$eintperpage);
      //Anzahl der Seiten wird berechnet (floor rundet auf ganze Zahl ab)
   $i=0;     //Zähler wird neu initialisiert
   for ($i; $i<=$z; $i++){
      $param=$i*$eintperpage;
      $seite=$i+1;
      echo "$seite";
   }
}

Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung