Problem in Zählerschleife

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

  • Problem in Zählerschleife

    Hallo ich hab folgende Schleife mal:

    PHP-Code:
    $bol=file_exists("links.csv");
    if (
    $bol) {
        
    $datei=fopen("links.csv""r");
        if(
    $datei) {
            
    $i=0;
            echo 
    "<table width='50%'  border='0' align='center' style='table-layout:fixed'>";
            for (
    $i=;$i<=$data$i++) {
                
    $data fgetcsv($datei1000";");
                echo 
    "<tr><td height='45' bgcolor='#CCCCCC'>";
                echo 
    "<h6 align='left'><a href='$data[1]' target='_blank'>$data[0] </a>($data[1])</h6>";
                 echo 
    "<h5 align='left'>$data[2]</h5>";
                echo 
    "</td></tr>";
            }
        echo 
    "</table>";
        
    fclose($datei);
        }
        

    Der Script soll mir Daten aus einer csv Datei lesen. Die daten sind in 3 Spalten und mehrere Zeilen gegliedert. per fgetcsv lese ich die Daten in ein Array ein.

    Nun zeigt mir das ganze aber am Ende der Liste eine Tabelle mit einer 0 an, die sollte nicht sein. Siehe www.cupido-online.de/links/links.php?id=Links
    Könnte ja nun die For-Schleife auf
    PHP-Code:
    for ($i=;$i<$data$i++) 
    setzen, dann zeigt mir der Script garnichts mehr an und wenn ich
    PHP-Code:
    for ($i=;$i<=$data-1$i++) 
    mache kommt wieder nichts zur Anzeige.

    Muss ich bei der Schleife irgendeine Ini-Einstellung beachten oder liegt irgendwo im Code der Fehler?

    PHP Version 4.3.4

  • #2
    Sag mir bitte erstmal, welchen Wert du für $data vermutets, und wie du auf diese idee kommst??

    Kommentar


    • #3
      $data ist das Array mit drei Werten. Pro Spalte der CSV ein Wert
      $datei ist der Dateizeiger

      Kommentar


      • #4
        richtig.

        und wie kommst du jetzt auf die idee, dass du mit $i<$data irgendwas sinnvolles prüfen kannst?

        Kommentar


        • #5
          hm da hast du recht *fg*

          Sieht man Baum vor lauter bäumen nicht

          Müsste ich statt $data ja $datei schreiben oder?

          Kommentar


          • #6
            was sagtest du doch gleich steht in datei???

            Kommentar


            • #7
              args also falsch

              Zeiger liest einzelne Zeichen als Zeiger? *grübel* Hab doch keine Ahnung

              Gibts ne Funktion die Zeilen einer Datei bzw die Anzahl der Zeilen zu lesen?

              Kommentar


              • #8
                es reicht wohl eine Funktion, die die Elemente eines Arrays zählt

                Kommentar


                • #9
                  nun überforderst du mich Newbie *fg*

                  Werd mich mal mit der Funktion beschäftigen, Danke dir

                  Kommentar


                  • #10
                    mh da du grad so schön bein schreiben bist noch ne frage *fg*

                    $datei ist ein Array??
                    Und ich soll die Anzahl der Werte in $datei zählen???

                    Kommentar


                    • #11
                      $datei ist ein Array??
                      Huhu? Extremes Kurzzeitgedächtnis?

                      $data ist das Array mit drei Werten. Pro Spalte der CSV ein Wert
                      $datei ist der Dateizeiger
                      Die Zweite Frage brauche ich dann wohl nicht mehr zu beantworten?

                      Kommentar


                      • #12
                        Also PhP Grundlagen schön und gut die kenn ich ja schon nur wenn ich was nich versteh??? Menno *gg*

                        Wieso sollte ich $data zählen??? Das hat 3 Werte das weiß ich und ändert sich auch net und wird bei jeden Schleifenneuanfang überschrieben

                        Kommentar


                        • #13
                          Also PhP Grundlagen schön und gut die kenn ich ja schon nur wenn ich was nich versteh??? Menno *gg*
                          Ausnahmsweise hab ich noch gar nicht wegen fehlenden Grundlagen get. Nur wegen deinem extremen Kurzzeitgedächtnis. Und das ist wohl vertändlich, oder???

                          Wieso sollte ich $data zählen??? Das hat 3 Werte das weiß ich und ändert sich auch net und wird bei jeden Schleifenneuanfang überschrieben
                          mach mal bitte ein

                          print_r($data);

                          und poste bitte die HTML-QUELLTEXT(!!!!) Ausagebe.

                          Kommentar


                          • #14
                            Da hab ich das print_r() rein
                            PHP-Code:
                                    for ($i=;$i<$datei$i++) {
                                        
                            $data fgetcsv($datei1000";");
                            print_r($data);
                                        echo 
                            "<tr><td height='45' bgcolor='#CCCCCC'>";
                                        echo 
                            "<h6 align='left'><a href='$data[1]' target='_blank'>$data[0] </a>($data[1])</h6>";
                                         echo 
                            "<h5 align='left'>$data[2]</h5>";
                                        echo 
                            "</td></tr>";
                                    } 
                            und hier der Quelltext:


                            Code:
                            <body >
                            <p>&nbsp;</p>
                            <h1 align='center'></h1><br><br><table width='50%'  border='0' align='center' style='table-layout:fixed'>Array
                            (
                                [0] => Radio Galaxy
                                [1] => [url]http://www.radiogalaxy.de.vu[/url]
                                [2] => Lustiger, verrückter, kostenloser Onlinestream, mit guter Auflage
                            )
                            <tr><td height='45' bgcolor='#CCCCCC'><h6 align='left'><a href='http://www.radiogalaxy.de.vu' target='_blank'>Radio Galaxy </a>([url]http://www.radiogalaxy.de.vu[/url])</h6><h5 align='left'>Lustiger, verrückter, kostenloser Onlinestream, mit guter Auflage</h5></td></tr>Array
                            (
                                [0] => (¯`·. Gran Canaria 2oo4 .·´¯)
                                [1] => [url]http://gran-canaria04.de.vu[/url]
                                [2] => Homepage eines meiner Kollegen, nette Bilder über Gran Canaria
                            )
                            <tr><td height='45' bgcolor='#CCCCCC'><h6 align='left'><a href='http://gran-canaria04.de.vu' target='_blank'>(¯`·. Gran Canaria 2oo4 .·´¯) </a>([url]http://gran-canaria04.de.vu[/url])</h6><h5 align='left'>Homepage eines meiner Kollegen, nette Bilder über Gran Canaria</h5></td></tr></table><p>&nbsp;</p>
                            <br>
                            <br>
                            </body>

                            Kommentar


                            • #15
                              Okay, du hast mir noch nichtmal die Wahrheit erzählt!

                              PHP-Code:
                              for ($i=;$i<=$data$i++) { 
                              Data ist hier kein Array, sondern zunächst mal 0 bzw. gar nicht existent!!!

                              setz mal einfach das hier

                              $data = fgetcsv($datei, 1000, ";");

                              in die while() bedingung. schätze mal, das steht auch so im manual!

                              Kommentar

                              Lädt...
                              X