Navigations-array

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

  • Navigations-array

    Hallo , ich bin Anfänger und lerne mit Hilfe von Büchern nach dem Motto Learn by Do. Und schon habe ich ein Problem. Bevor ich die Lust vor lauter Frust verliere Dachte ich mir das ich hier frage.
    Zur Zeit lese ich eine Text-Datei Zeilenweise unter der Verwendung von splitt ein und nutze das array zum anzeigen meiner Navigation.
    Jetzt möchte ich diese Datei nicht jedes mal unter Ftp öffnen , neu schreiben und sortieren.
    Daher meine Frage .
    Wie mache ich das unter PHP5 das ich die Datei online bearbeiten kann.
    Neue Zeile einfügen oder löschen .
    Die Datei ist zur Zeit so aufgebaut :

    Titel1|||text1
    Titel2|||text2
    Titel3|||text3
    Titel4|||text4
    Titel5|||text5

    Und Sortieren möchte ich gerne per Mausklick z.B. so !

    Titel1|||text1
    Titel2|||text2
    Titel5|||text5
    Titel3|||text3
    Titel4|||text4

    Dann das ganze wieder zurück in die Datei schreiben.
    Ohne die Verwendung einer Datenbank.

    Danke im voraus
    MfG ASKOA

  • #2
    Du ließt die Einträge aus (am einfachesten übrigens mit file), zeigst sie mit einem Formularfeld für die neue Position an und schreibst sie dann in der neuen Reihenfolge wieder in die Datei. Ein guter Einstieg in solche Grundlagen ist www.peterkropff.de
    Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

    Kommentar


    • #3
      Wau , danke für die schnelle Antwort . Bin den link's auch schon mal gefolgt , viel zu lesen .
      Momentan arbeite ich die datei so ab.
      PHP-Code:
      <?php
               $fname 
      "./seiten/seiten.dat";    // Dateiname
          
      $errorMessage "Fehler beim Zugriff auf die Datei $fname";
          if(
      is_readable($fname)) {
              @ 
      $fp fopen($fname'r');
              
      // öfnen einer Datei im Lesen-Modus 'r'.
              // Fehlermeldungen werden mit '@' unterdrckt.
              
      if(!$fp) {
                  echo 
      $errorMessage;
                  exit;
              }
              while (!
      feof($fp)) {
                  
      $fline fgets($fp);
                 
      $line=split("[|||s/\n//]",$fline);
                  
      $titel=$line[0];
                  
      $id=$line[3];


       
      $zeile="seiten/";

      echo
      "      <a href=\"index2.php?action=./$zeile$id.dat\">$titel</a>\n";
              }
              
      fclose($fp);
          }

      ?>
      wobei mich es nervt das man bei index2.php?action=./$zeile$id.dat\ das ganze verzeichnis sieht. Aber schritt für schritt . jetzt ist erstmal das erste Problem dran.
      ASKOA

      Kommentar


      • #4
        Eine Navi basierend auf einem Textfile finde ich persönlich nicht wirklich brauchbar. Bzw wird der Wartungsaufwand bei Änderungen v.a. bei mehreren Dimensionen ins unermessliche steigen. Wenn du ein flexibles Menu mit einer flexibeln Anzahl von Unterpunkten und unterschiedlichen Anzahl Levels willst, dann schau dir mal das Konzept der Nested Sets an.
        Trotz deiner Ablehnung einer DB würde ich dir eine DB empfehlen. Da kannst du dann die Ausgabe genau so sortieren wie du sie gerade willst.

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar

        Lädt...
        X