Stephan: Aus DAT-Datei sortieren?

Hallo,

ich habe eine DAT-Datei. Wenn jemand seine E-Mailadresse einträgt, wird sie wiefolgt gespeichert:

<tr><td>$name</td><td>$link</tD></tr><tr>...

Kann ich das jetzt nach dem Namen ABC... sortieren, ohne alles jetzt in eine MySQL Datenbank schreiben zu müssen?

Danke schon jetzt

Stephan

  1. Hallo,

    ich habe eine DAT-Datei. Wenn jemand seine E-Mailadresse einträgt, wird sie wiefolgt gespeichert:

    <tr><td>$name</td><td>$link</tD></tr><tr>...

    Kann ich das jetzt nach dem Namen ABC... sortieren, ohne alles jetzt in eine MySQL Datenbank schreiben zu müssen?

    Ja.
    Mit einer geeigneten Auswahl der String-Funktionen
    http://www.php.net/manual/de/ref.strings.php
    die Du in einer Schleife anwendest, kannst Du die einzelnen Werte wieder auslesen.

    Dann machst Du daraus z.B. ein assoziatives Array im Stil:
    $namelink[$name]=$link

    z.B.
    $namelink['Peter']="http://home.example.com/peterchen/";
    $namelink['Anna']="http://anna.example.org/";

    Nun musst Du noch den Array sortieren.
    Die Funktionen dazu findest Du hier:
    http://www.php.net/manual/de/ref.array.php

    Grundlagen zu Arrays:
    http://www.php.net/manual/de/language.types.array.php

    Nochwas:

    <tr><td>$name</td><td>$link</tD></tr><tr>...

    Sorge dafuer, dass es statt </tD> besser </td> heisst.
    (In XHTML muss es sogar so sein; in XML waeren <td> und <tD> zwei
    verschiedene Elemente, und in XHTML ist eh nur Kleinschreibung erlaubt.)

    Und ich faende es schlauer, wenn in der Daten-Datei jede TR-Zeile auch auf
    einer neuen Zeile anfaengt:

    <tr><td>$name</td><td>$link</td></tr>
    <tr><td>$name</td><td>$link</td></tr>

    Im Skript, das die Datei schreibt, braucht es also ein \n am Zeilenende:
    echo "<tr><td>$name</td><td>$link</td></tr>\n";
    oder so...

    Gruesse,

    Thomas

    1. Hello,

      <tr><td>$name</td><td>$link</td></tr>
      <tr><td>$name</td><td>$link</td></tr>

      Und ich fände es schlauer, den ganzen Overhead (Tags) gar nicht mit abzuspeichern, sondern erst bei der Ausgabe dazuzumischen.

      Grüße

      Tom

      1. Hallo,

        Und ich fände es schlauer, den ganzen Overhead (Tags) gar nicht mit abzuspeichern, sondern erst bei der Ausgabe dazuzumischen.

        Kommt halt darauf an :-)
        Wenn er 1000x taeglich einfach die Tabelle anzeigen will (z.B. mit readfile() oder so)
        und nur 1x pro Woche sortieren will, ist es durchaus eine Moeglichkeit,
        gleich den ganzen HTML-Klimbim zu speichern.

        Aber ihr (wahsaga und Du) habt recht, meistens waere es wohl sinnvoller,
        nur die Daten zu speichern, z.B. in einem CSV-Format (Comma/Colon Separated Values),
        und die Sortiererei und HTML-Erzeugung im Moment der Anzeige durchzufuehren.

        Gruesse,

        Thomas

  2. hi,

    ich habe eine DAT-Datei. Wenn jemand seine E-Mailadresse einträgt, wird sie wiefolgt gespeichert:

    <tr><td>$name</td><td>$link</tD></tr><tr>...

    warum speicherst du nicht nur die reinen daten, sondern auch noch das ganze <tr><td>-gesumse drumherum?
    das erzeugt doch viel zu viel redundanz.
    ich würde es bei der ausgabe hinzufügen.

    gruss,
    wahsaga