Ankündigung

Einklappen
Keine Ankündigung bisher.

Rückwärts sortieren ;)

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Rückwärts sortieren ;)

    hi habe ein kleines Problem:

    Habe ein Gästebuch das mit einen PHP Script arbeitet.


    PHP-Code:

    <? 
    $datei = "gall.txt"; 

    function lesenNr() { 
    global $datei; 
    $wahl_array = file($datei); 
    $reload_dat = fopen($datei,"r"); 
    for ($i=0; $i<sizeof($wahl_array); $i++) { 
    list($name,$email,$nr) = split(",",$wahl_array[$i]); 
    echo '&ein'.($i+1).'='.($i+1).'&name'.($i+1).'='.$name.'&email'.($i+1).'='.$email.'&nr'.($i+1).'='.$nr; 



    fclose($reload_dat); 

    ?> 
    <? 
    lesenNr(); 
    ?>
    leider werden aber die Einträge nicht nach dem neusten sondern nach dem ältesten sortiert. möchte aber die reienfolge ändern

    Mit den Befehl rsort kann man ein array anders Herum sortieren, aber weiß nicht wie ich das ganze umsetzen soll.

    Bitte um Hilfe

    Danke

  • #2
    am besten sortierst du schon beim schreiben!

    Schreib immer die aktuellen an den Anfang, oder an das Ende - jenachdem, wie du es haben willst.. Dann sparst du dir das an dieser Stelle!



    außerdem : PHP-Anfänger!

    Kommentar


    • #3
      das wollte ich ja vermeiden den es handelt sich hier um ein Gästebuch und da habe ich nicht lust nach jeden Eintrag alle 150 Einträge neu durchzu nummerieren Deswegen sollte es in den Auslese skript vorgenommen werden das Array sortiert ja die Dateien, der Befehl asort sotiert ein Array in der umgekehrten Reihenfolge. Soweit bin ich schon nur wie bringe ich dieses skript dazu

      Cu Stefan

      Kommentar


      • #4
        Zitat von supertramp
        außerdem : PHP-Anfänger!
        absolut richtig...deshalb:

        Der Beitrag wurde verschoben, wegen...
        ... Postings im falschen Forum.

        moved to PHP - Anfänger

        btw.: die php-bb-tags sind nicht um sonst da!

        Kommentar


        • #5
          hi,

          du musst beim auslesen die for schleife einfach nur verkehrt laufen lassen so hab ich es bei meinem ersten gästebuch auch gemacht.

          Kommentar


          • #6
            oder du nimmst dir array_reverse, dann hast du dein Array auch in umgedrehter Reihenfolge

            Kommentar


            • #7
              So, wie dein Array aufgebaut ist, gibt es keine Funktion, die ihn dir nach Datum sortieren kann. Das Datum hast du ja gar nicht drin und zuvorderst steht der Name, also kannst du mit den Funktionen nur nach diesem sortieren.
              Und warum machst du nach dem einlesen noch einen fopen() auf die Datei, ohne sie nochmals zu lesen?

              Kommentar


              • #8
                es existiert ein anderes skript das sich eintragen nennt. Hier werden in der Gall text der Name und das Datum eingetragen. Alle Inhalte und den Text des GB wird in 1.txt gespeichert der 2 te eintrag wäre dann 2.txt.
                Kannst dir das ganze ja mal ansehen unter http://www.flashstar.de/tutlist/index.php3?id=465 kann man sich das Gästebuch Downladen.

                Vielleicht ist es so verständlicher

                Kommentar


                • #9
                  Ich denke, das einzige, was dir bei diesem Aufbau helfen kann, ist der Vorschlag von eisbaer04, weil der nicht sortiert, sondern die Reihenfolge nur umkehrt. Ich glaube für alle andern Möglichkeiten (z.B. Index-Files anlegen o.ä) dürfte der Aufwand zu gross sein. Ausserdem warum sich ein eigenes Datenbank-System aufbauen, wenn es (mehr oder weniger) fertige gratis gibt.

                  Kommentar


                  • #10
                    das system ist ja schon fertig soweit, aber kann ich den array_reserve einfach so in das PHP Script einbinden oder muß vor das skript ein noch eine Befehlszeile?

                    Wie würde den dann das PHP Script aussehen ??

                    Kommentar


                    • #11
                      Einfach
                      PHP-Code:
                      ...
                      $wahl_array array_reverse(file($datei)); 
                      ... 

                      Kommentar


                      • #12
                        Danke erstmal das ganze sollte dann so aussehen oder

                        PHP-Code:
                        <? 
                        $datei = "gall.txt"; 

                        function lesenNr() { 
                        global $datei; 
                        $wahl_array = array_reverse(file($datei));
                        $reload_dat = fopen($datei,"r"); 
                        for ($i=0; $i<sizeof($wahl_array); $i++) { 
                        list($name,$email,$nr) = split(",",$wahl_array[$i]); 
                        echo '&ein'.($i+1).'='.($i+1).'&name'.($i+1).'='.$name.'&email'.($i+1).'='.$email.'&nr'.($i+1).'='.$nr; 



                        fclose($reload_dat); 

                        ?> 
                        <? 
                        lesenNr(); 
                        ?>
                        werde es morgen mal testen und melde mich wieder ob es funzt oder nicht, danke aber für die Hilfe.

                        Cu Stefan

                        Kommentar

                        Lädt...
                        X