gästebuch

Franz

Erfahrenes Mitglied
wie stelle ich es an, dass ich den letzen eintrag in einem gästebuch als erstes anzeigen lasse?

bei miar wird der immer unten angereiht
 
ich geh mal davon aus das du ne db verwendest!


dann is es ganz einfach, und zwar bei der select anweisung schreibste rein order by datum desc

das bedeutet das nach dem datum geordnet wird und das desc gibt an in welcher reinfolge!! desc ist also von groß nach klein!!

falls dus andersrum haben willst, dann nimm anstatt desc ask das is von klein nach groß! dann würdest du den ältesten beitrag bekommen!!

falls du mal sehen willst, wie das in der praxis funzt dann(ich mein im fertigen script) dann schau mal bei php-tutorials hier im board vorbei, da is ein gb-tut von mir! ;)
 
ok ich hab hier mal einen schnipsel aus nem script meines bruder rausgesúcht, das sollte eigentlich funktionieren!!

PHP:
<?php


        if ($put==1){

                $file=fopen("gb.tmp","w");
                $file2=fopen("gb.dat","r");

                fputs($file,$name."\n");
                fputs($file,$mail."\n");
                fputs($file,date("d.m.y")."\n");
                fputs($file,date("H:i:s")."\n");
                fputs($file,nl_to_break(trim($msg))."\n");
                fputs($file,$kommentar."\n");
                fputs($file,$website);


                while (!feof($file2)){
                        fputs($file,"\n".trim(fgets($file2,400))."\n");
                        fputs($file,trim(fgets($file2,400))."\n");
                        fputs($file,trim(fgets($file2,20))."\n");
                        fputs($file,trim(fgets($file2,20))."\n");
                        fputs($file,trim(fgets($file2,3000))."\n");
                        fputs($file,trim(fgets($file2,3000))."\n");
                        fputs($file,trim(fgets($file2,400)));
                }

        fclose($file);
        fclose($file2);

        $file2=fopen("gb.tmp","r");
        $file=fopen("gb.dat","w+");
                        fputs($file,trim(fgets($file2,400))."\n");
                        fputs($file,trim(fgets($file2,400))."\n");
                        fputs($file,trim(fgets($file2,20))."\n");
                        fputs($file,trim(fgets($file2,20))."\n");
                        fputs($file,trim(fgets($file2,3000))."\n");
                        fputs($file,trim(fgets($file2,3000))."\n");
                        fputs($file,trim(fgets($file2,400)));


                while (!feof($file2)){
                        fputs($file,"\n".trim(fgets($file2,400))."\n");
                        fputs($file,trim(fgets($file2,400))."\n");
                        fputs($file,trim(fgets($file2,20))."\n");
                        fputs($file,trim(fgets($file2,20))."\n");
                        fputs($file,trim(fgets($file2,3000))."\n");
                        fputs($file,trim(fgets($file2,3000))."\n");
                        fputs($file,trim(fgets($file2,400)));
                }

        fclose($file);
        fclose($file2);

        }


        $file=fopen("gb.dat","r");

        $max_i=15;

        $i=0;

        while ((!feof($file)) && $i<=$max_i){
                $i++;
                $name=trim(fgetss($file,400));
                $mail=trim(fgetss($file,400));
                $datum=trim(fgetss($file,20));
                $uhrzeit=trim(fgetss($file,20));
                $msg=trim(fgetss($file,3000,"<br>"));
                $kommentar=trim(fgets($file,3000));
                $website=trim(fgetss($file,400));
?>

ich hoffe ich konnte helfen, wenn nicht dann schau mal auf http://www.php3-forum.de da sind beispiele für dateibasierte sachen
 
alternativ kannst du auch so vorgehen, das du beim wegschreiben eines neuen eintrags einfach die textdatei mit den einträgen in eine temporäre datei schreibst, dann die gästebuchtextdatei löscht, den neuen eintrag reinschreibst und die temporäre datei wieder anhängst. so hast du die einträge schon in der datei in der gewünschten zeitlichen reihenfolge, kannst folglich die datei also ganz einfach auslesen.

mfg
evoc
 

Neue Beiträge

Zurück