mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Di 13.04.2021 02:49 Benutzername: Passwort: Auto-Login

Thema: [PHP] Aus Textdatei gelesene Einträge sotieren vom 05.12.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [PHP] Aus Textdatei gelesene Einträge sotieren
Seite: 1, 2, 3  Weiter
Autor Nachricht
bastit
Threadersteller

Dabei seit: 02.08.2007
Ort: -
Alter: 32
Geschlecht: Männlich
Verfasst Mi 05.12.2007 12:54
Titel

[PHP] Aus Textdatei gelesene Einträge sotieren

Antworten mit Zitat Zum Seitenanfang

Hallo Zusammen,

Ich habe für eine Seite eine Art Gästebuch programmiert. Und zwar mit dem System, dass eine Textdatei ausgelesen wird. Die einzelnen Kategorien des Eintrags (Name, E-Mail, Datum, Text) sind durch #### getrennt. Die Einträge untereinander sind durch **** getrennt.
Naja, nun das Problem: Die Einträge werden nun leider so sotiert, dass der neuste Eintrag unten ist. Ich ätte es aber gerne andersrum.
Hier der Code:
Code:
<?php

      
      echo "
      <table width='100%' border='0' cellspacing='0' cellpadding='0'>
      ";
            $fp = fopen("input.txt","r");
            if ($fp)
            {
            while(!feof($fp))
            {
            $eintrag = fgets($fp);
            $eintrag1 = $eintrag;
            $aufteilung1 = explode("****",$eintrag1);
            $lg = sizeof($aufteilung1);
            for($i=0; $i<$lg; $i++)
               {
               $aufteilung = $aufteilung1[$i];
               $aufteilung2 = explode("####",$aufteilung);
               echo "
            <tr height='10px'></tr>
            <tr>
               ";
               echo "
               <td width='150' valign='top'>
               <a href='mailto:$aufteilung2[2]'>$aufteilung2[1]</a><br/>
               $aufteilung2[3]
               </td>
               <td valign='top'>
               $aufteilung2[4]
               </td>
            </tr>
               ";
               }
            }
            fclose($fp);
            }
               echo "
         </table>
               ";      ?>

Ich denke die Lösung wird einfach sein, aber ich komme einfach nicht auf die Lösung.
Ich bedanke mich für eure Hilfe.
lg bastit


Zuletzt bearbeitet von Eistee am Mo 10.12.2007 18:57, insgesamt 3-mal bearbeitet
  View user's profile Private Nachricht senden
kaputt

Dabei seit: 08.05.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mi 05.12.2007 14:58
Titel

Antworten mit Zitat Zum Seitenanfang

Lies die Datei doch mit file() ein. Dann haste einen Array. Den kannste mit array_reverse() umdrehen. Und dann wanderste mit einem foreach() durch deinen Array und machst deine Ausgabe.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
achwasweisich

Dabei seit: 27.09.2007
Ort: Stuttgarter Raum
Alter: -
Geschlecht: Männlich
Verfasst Mi 05.12.2007 15:16
Titel

Re: aus Textdatei gelensene Einträge sotieren

Antworten mit Zitat Zum Seitenanfang

bastit hat geschrieben:
Hallo Zusammen,

Ich habe für eine Seite eine Art Gästebuch programmiert. Und zwar mit dem System, dass eine Textdatei ausgelesen wird. Die einzelnen Kategorien des Eintrags (Name, E-Mail, Datum, Text) sind durch #### getrennt. Die Einträge untereinander sind durch **** getrennt.


Dann denkst Du aber hoffentlich daran, die Felder Name, E-Mail und Text zu prüfen und eventuell vorhandene **** und #### zu löschen/ersetzen? Sonst schreibt zum Beispiel mal einer "ihr blöden Ar*******er" in Dein Gästebuch und schon haut es Dir alles durcheinander.

Ansonsten würde ich ebenfalls die Datei erst mal in ein Array packen und dann durcharbeiten.
  View user's profile Private Nachricht senden
Pixelpole

Dabei seit: 25.10.2004
Ort: Trier
Alter: 34
Geschlecht: Männlich
Verfasst Mi 05.12.2007 15:32
Titel

Antworten mit Zitat Zum Seitenanfang

peBBo hat geschrieben:
Lies die Datei doch mit file() ein. Dann haste einen Array. Den kannste mit array_reverse() umdrehen. Und dann wanderste mit einem foreach() durch deinen Array und machst deine Ausgabe.


das ist schwachsinn...da file das array zeile für zeile abarbeitet...wenn man das array dann umdreht bekommt man totalen unsinn raus.

sinnvoller wäre es beim schreiben der text datei den zeiger einfach auf den anfang zu setzen anstatt auf das ende um daten hinzuzufügen.

ansonsten alles in einen string ballern mit explode ein array basteln und dann mit array_reverse umdrehen
  View user's profile Private Nachricht senden
achwasweisich

Dabei seit: 27.09.2007
Ort: Stuttgarter Raum
Alter: -
Geschlecht: Männlich
Verfasst Mi 05.12.2007 15:51
Titel

Antworten mit Zitat Zum Seitenanfang

Pixelpole hat geschrieben:
peBBo hat geschrieben:
Lies die Datei doch mit file() ein. Dann haste einen Array. Den kannste mit array_reverse() umdrehen. Und dann wanderste mit einem foreach() durch deinen Array und machst deine Ausgabe.


das ist schwachsinn...da file das array zeile für zeile abarbeitet...wenn man das array dann umdreht bekommt man totalen unsinn raus.



Das kommt ganz darauf an, wann er wo Zeilentrennungen vornimmt und welche Reihenfolge seine Daten haben ...
wenn er das Datum immer vorne hat und jeder Eintrag eine Zeile ergibt, passt es.
Andererseits schadet es auch nicht, das ganze erst mal in einen String zu packen.
  View user's profile Private Nachricht senden
tacker

Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 40
Geschlecht: Männlich
Verfasst Mi 05.12.2007 15:59
Titel

Antworten mit Zitat Zum Seitenanfang

Code:
$array = split( '****', file_get_contents( 'file.txt' ) );
$array = array_reverse( $array );
foreach ( $array as $entry ) {
    $aufteilung2 = split( '####', $entry );
}


Zuletzt bearbeitet von tacker am Mi 05.12.2007 16:00, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
bastit
Threadersteller

Dabei seit: 02.08.2007
Ort: -
Alter: 32
Geschlecht: Männlich
Verfasst Do 06.12.2007 12:35
Titel

Antworten mit Zitat Zum Seitenanfang

super vielen dank ... ich habe leider noch keine Zeit gehabt das auzuprobieren, werde aber am Wochenende wohl dazu kommen.
der bastit
  View user's profile Private Nachricht senden
SURE612

Dabei seit: 02.12.2005
Ort: Bärlin / CB
Alter: -
Geschlecht: Männlich
Verfasst Do 06.12.2007 12:42
Titel

Antworten mit Zitat Zum Seitenanfang

ich hab auch ein gästebuch auf datei basis
super billig, aber läuft seit jahren gut

ich hab da einfach pro zeile einen gästebucheintrag
die zeilen kann man da ganz einfach durchlaufen beim auslesen
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen Ausgabe einer Textdatei unter PHP
PHP: Textdatei auslesen und sortieren, wie?
Via PHP in Textdatei schreiben. Wie?
[PHP] Textdatei mit BOM ausgeben?
PHP: Doppelte Einträge aus in einem Array ausgeben
Webformular PHP: Woher kommen diese Einträge?
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2, 3  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.