Navigationsleiste in PHP

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

  • #31
    Datei mit file einlesen. Schleife ( z.B. for ) laufen lassen. Bei jeder Zeile die ersten beiden Zeichen einlesen z.B. mit substr ...
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #32
      mit einer IF Abfrage vielleicht ....
      Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

      Kommentar


      • #33
        Ich habe das jetzt mit einer foreach Schleife gelöst,

        Danke für eure Hilfe!

        Jetzt will ich aber noch das ich die verschiedenen Teile der txt. Datei in verschieden (vielleicht) Variablen aufteilen kann.
        Da ich die Werte in einer nebenstehenden Tabelle übergeben will.

        So in etwa:
        Name: Janet Schmidt
        Straße: Irgendeine 11
        PLZ Ort: 42897 Remscheid

        und das für die einzelnen Personen.

        Könnt ihr mir da nocheinmal helfen?

        Mein Code:
        PHP-Code:
        <? 
        $data = file("daten.txt"); 
        $result = array();       
        reset ($result);

        foreach($data as $line) {   
           $zeilen = explode(",", $line);   
           if(trim($zeilen[0]) == "de") $result[] = $zeilen; 
        }
        foreach($result as $item) {
           if(is_array($item)) echo implode(", ", $item) . "<br>";
           else echo $item . "<br>";
        }
        ?>

        Kommentar


        • #34
          Ich sehe irgendwie das Problem nicht. Statt die Werte zu imploden und auszugeben, kannst du sie in der zweiten foreach doch auch einfach in einer HTML-Tabelle ausgeben. Auf 'Variablen aufgeteilt' sind die Zeilen schon, wenn is_array() true ist. (Sonst gäbe es ja auch nix zu imploden.)

          Hier noch ein zweiter Ansatz, ungetestet, nicht für Windows, aber dafür schön kurz:
          PHP-Code:
          // Array der Zeilen, die mit de beginnen
          $de explode("\n"shell_exec("grep '^de,' daten.txt"));
          // Zeilen aufsplitten
          foreach ($de as $k => $line) {
              list(
          $de[$k]['tld'],
                   
          $de[$k]['name'],
                   
          $de[$k]['street'],
                   
          $de[$k]['zip'],
                   
          $de[$k]['town']) = explode(', '$line);
          }
          // Testausgabe
          echo '<pre>'print_r($de); echo '</pre>'

          Kommentar


          • #35
            wenn es nicht für Windows ist, kann ich damit leider nichts anfangen.
            Muss mal schauen, was ich da machen kann.

            DANKE AN ALLE

            Kommentar


            • #36
              Komm nicht weiter

              Morgen zusammen,

              bräuchte nochmals euer Hilfe.
              Ausgangssituation:
              Erstellen einer Navigationleiste, die bei klick auf ein Feld aufklappt.
              In etwa so:
              Deutschland
              =>Janet Schmidt
              =>Lutz Ahnungslos
              England
              Frankreich

              Die Daten kommen aus zwei txt.Files. Eine für die Länder
              1.
              Deutschland, de
              Frankreich, fr
              England, uk

              und eine mit den einzelnen Daten.
              2.
              de, Janet Schmidt, Straße, PLZ, Ort, Telefon, eMail
              de, ....
              fr, .....
              uk,....
              de,....

              Klickt man auf ein Name soll in einer nebenstehenden Tabelle die persönlichen Daten erscheinen.

              Mein Code:
              PHP-Code:
              <?
              $land= "laender_kz.txt";
              $arr = file($land);
              sort($arr, SORT_STRING);

              foreach ($arr as $line){
              $teil= explode(",",$line);
              echo <<<EOF
              <a href='index_janet.php?=$teil[1]' target=''>$teil[0]</a>
              <br>
              EOF;

              if ($teil[1]=="de"){
                $daten= "daten.txt";
                $d_arr= file($daten);
                sort($d_arr, SORT_STRING);

              foreach($d_arr as $satz) {       
                for ($d=0; $d<count($satz); $d++){
                  $zeile = explode(",", $satz[$d]);  
              echo <<<EOF
              <a href='index_janet.php?=$teil[1]' target=''>$teil[0]</a>
              <br>
              <a href='' target=''>&nbsp;&nbsp;&nbsp;&nbsp;$zeile[1]</a>
              <br>
              EOF;
              }
                }
              }
              }

              echo "<br><br>";

                echo "<tr><td>Name:</td></tr>";
                echo "<tr><td><img src=\"$zeile[2]\" alt=\"\"></td></tr>";
                echo "<tr><td>$zeile[1]</td></tr>";
                echo "<tr><td>Funktion:</td></tr>";
                echo "<tr><td>$zeile[3]</td></tr>";
                echo "<tr><td>&nbsp;</td></tr>";
                echo "<tr><td>&nbsp;</td></tr>";
                echo "<tr><td>Tel: $zeile[4]</td></tr>";
                echo "<tr><td>eMail: $zeile[5]</td></tr>";
                echo "<tr><td>Fax: $zeile[6]</td></tr>";
                echo "<tr><td>Anschrift:</td></tr>";
                echo "<tr><td>$zeile[7]</td></tr>";
                echo "<tr><td>$zeile[8] &nbsp; $zeile[9]</td></tr>";
                echo "</th>";
              ?>
              Kann mir einer sagen, warum sich die Namen nicht aufklappen, wenn ich auf ein Land klicke?

              Gruß
              Janet

              Kommentar


              • #37
                Kommt drauf an, ob du uns sagen kannst, wieviel Threads zu dem Thema du noch aufmachen willst (5 Stück hab ich eben zusammengefasst...) und welche Variablen du dir testweise hast ausgeben lassen um zu verifizieren, ob das drinsteht, was du vermutest
                Zuletzt geändert von mrhappiness; 12.08.2005, 07:28.
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #38
                  ich hatte nicht vor euch damit zu nerven, aber ich möchte es halt hinbekommen.

                  was ich ausgegeben habe möchte, gibt er mir aus, aber nicht so wie ich es will.

                  also ich bekomme die navileiste, kann sie aber nicht anklicken, so dass sie sich aufklappt und ich mit einem weiteren klick die nebenstehende Tabelle füllen kann.

                  hab da jetzt schon einiges versucht und auch viel hilfe bekommen. Aber wenn es langsam zu viel wird, kann man nichts machen.

                  Trotzdem danke an alle die mir geholfen haben.

                  Kommentar


                  • #39
                    Sag uns doch einfach, was für Variablen du dir hast ausgeben lassen und was da drinstand

                    Nachtrag: Wie die Links aussehen, über die du die Parameter übergibst, wäre auch interessant,
                    index_janet.php?=
                    sieht nämlich irgendwie seltsam aus
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #40
                      ich weiß jetzt nicht genau was du meinst.
                      die variablen die ich mir habe ausgeben lassen, habe ich den beiden text dateien entnommen.

                      zum einen für die Navileiste, die auch fast funktioniert, sie klappt sich nur nicht auf und man kann so auf keinen namen klicken

                      und zum anderen für die nebenstehende Tabelle, die daten der einzelnen Personen. was nicht so ganz funktioniert (was ja auch klar ist, da die navileiste nicht ganz klappt).

                      wenn ich es mir im browser anzeigen lassen erscheint in der status leiste, wenn ich zum beispiel auf deutschland klicke
                      "http://localhost/index.php?de=uk" er erkennt das es deutschland ist aber nicht das es die daten aus der txt.daten von de sein sollen, da nimmt er immer uk.
                      aus diesem Grund steht die Tabelle noch leer.

                      kannst du damit was anfangen?

                      Kommentar


                      • #41
                        Wenn du willst, das etwas passiert, wenn du auf einen Link klickst, dann musst du im Skript die Parameter auswerten, die du im Link übergibst.

                        Parameter, die per Link übergeben werden, kannst du mit $_GET['parametername'] ansprechen/auswerten, sowas sehe ich bei dir nicht.

                        Ich sehe sowieso nicht, wo du irgendwas abhängig von irgendwelchen Parametern machst.

                        Schreibe doch mal hinter jede Zeile deines Codes einen Kommentar, der beschreibt, was diese Zeile macht und poste das.
                        Ich glaube nämlich, das was du programmiert hast und das was du zu programmieren vorhattest ist nicht deckungsgleich...
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #42
                          Hier mein auskommentierter Code:
                          PHP-Code:
                          <?
                          $land= "laender_kz.txt";
                          $arr = file($land);         //komplette Datei in ein array schreiben
                          sort($arr, SORT_STRING);    //datei sortieren

                          $daten= "daten.txt";        //hier das gleiche nur mit der Datei f&uuml;r die Daten
                          $d_arr= file($daten);       //und ohne sortieren, da das erste zeichen das Laenderk&uuml;rzel ist
                          foreach($d_arr as $satz) {        // alle zeilen drchlaufen
                            $zeile = explode(",", $satz);   // zeile aufbrechen, nach kommas
                          }
                          foreach ($arr as $line){    //alle zeilen durchlaufen
                          $teil= explode(",",$line);  //zeile nach kommas aufbrechen
                          echo <<<EOF                 
                          <a href='index_janet_neu.php?$teil[1]=$zeile[0]' target=''>$teil[0]</a>
                          <br>
                          EOF;
                          }
                          //schreiben der der Navileiste und mit klick neu laden, sowie den Parameter $teil[1]="landkz" mit 
                          //mit $zeile[0]="auch landkz" vergleichen.

                          if ($teil[1]==$zeile[0]){  //wenn die Parameter gleich sind mache das
                            echo "<a href='index_janet_neu.php?$teil[1]=$zeile[0]' target=''>".$teil[0]."</a>";
                            echo "<a href=''index_janet_neu.php' target=''>&nbsp;&nbsp;&nbsp;&nbsp;".$zeile[1]."</a>";
                            echo "<br>";
                          }
                          ?>
                            </td></tr></table>
                            <th>&nbsp;</th>
                            <th><table border="0"> 
                            <tr><th>HR Personal List</th></tr>
                          <?
                            //das ist die nebenstehende Tabelle die ich mit den Parametern fuellen moechte  
                            echo "<tr><td>Name:</td></tr>";
                            echo "<tr><td><img src=\"$zeile[2]\" alt=\"\"></td></tr>";
                            echo "<tr><td>$zeile[1]</td></tr>";
                            echo "<tr><td>Funktion:</td></tr>";
                            echo "<tr><td>$zeile[3]</td></tr>";
                            echo "<tr><td>&nbsp;</td></tr>";
                            echo "<tr><td>&nbsp;</td></tr>";
                            echo "<tr><td>Tel: $zeile[4]</td></tr>";
                            echo "<tr><td>eMail: $zeile[5]</td></tr>";
                            echo "<tr><td>Fax: $zeile[6]</td></tr>";
                            echo "<tr><td>Anschrift:</td></tr>";
                            echo "<tr><td>$zeile[7]</td></tr>";
                            echo "<tr><td>$zeile[8] &nbsp; $zeile[9]</td></tr>";
                            echo "</th>";
                          ?>
                          Welche Fehler findest du alle? Danke übrigens!!

                          Kommentar

                          Lädt...
                          X