Zeile 500 - 600 anzeigen

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

  • Zeile 500 - 600 anzeigen

    Hallo,

    ich möchte eine Datei auslesen und anzeigen lassen. Allerdings soll nicht die ganze Datei angezeigt werden sondern immer nur ein bestimmter Teil, also eine bestimmte Anzahl von Zeilen. z.B. Zeile 500-600 also insgesamt hier 100 Zeilen.
    Diesen Teil des Scriptes habe ich schon.

    PHP-Code:
    <?php
    $row 
    1;
    $handle fopen("datei.csv""r");
    while ((
    $data fgetcsv($handle500"|")) !== FALSE) {
       
    $num count($data);
       echo 
    "<p> $num fields in line $row: <br /></p>\n";
       
    $row++;
       for (
    $c=0$c $num$c++) {
           echo 
    $data[$c] . "<br />\n";
       }
    }
    fclose($handle);
    <?
    Wie müsste man das Script erweitern um die Vorgabe zu erfüllen? Ich habe leider nicht allzuviel dazu gefunden und komme an dieser Stelle nicht weiter. Wäre schön wenn mir jemand helfen könnte.

    Vielen Dank
    Zuletzt geändert von Pretender; 13.06.2006, 11:14.
    wer nicht fragt.......
    Pretender

  • #2
    Nimm gefälligst PHP-Tags!!!
    PHP-Code:
    $lines file ('deine_datei');
    for(
    $i=500$i<=600; ++$i) {
        echo 
    $lines[$i];

    Sunshine CMS
    BannerAdManagement
    Borlabs - because we make IT easier
    Formulargenerator [color=red]Neu![/color]
    Herkunftsstatistik [color=red]Neu![/color]

    Kommentar


    • #3
      Ja Sir!
      wer nicht fragt.......
      Pretender

      Kommentar


      • #4
        Vielen Dank für die Antwort.

        Kannst Du mir noch schreiben an welche Stelle des Scriptes ich den Schnipsel einbauen muss? So wie es ich es gemacht habe, geht es nicht.

        Vielen Dank!
        wer nicht fragt.......
        Pretender

        Kommentar


        • #5
          Wenn du dir wenigstens mal ansatzweise angeschaut hättest, was die einzelnen Funktionen machen - dann solltest du begriffen haben, dass das deinen Code quasi vollkommen ersetzt.


          (Dass der Vorschlag noch suboptimal ist, steht natürlich auf einem anderen Blatt.
          Der Fall, dass es evtl. gar nicht so viele Zeilen gibt, wird nicht behandelt.
          Und alle Daten auf einmal in den Speicher zu klatschen, wenn man gar nicht alle haben will, ist auch ungünstig.
          Ich würde da schon eher die bisherige Methode mit der while-Schleife beibehalten - und wenn der Zeilenzähler noch nicht den gewünschten Stand erreicht hat, die aktuell gelesene Zeile einfach wieder verwerfen. Und nachdem der Zähler die Obergrenze erreicht hat, das Auslesen abbrechen.)
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            hmmmm, also ich bin recht neu im PHP und habe daher nicht so den Durchblick. Da ich vermutet habe, das es sich hier um ein eigenes Script handelt habe ich es getestet:

            PHP-Code:
            <?
            $lines = file ('datei.csv');
            for($i=15; $i<=20; ++$i) {
                echo $lines[$i];
            }
            ?>
            und habe lediglich ein leere Seite bekommen. Daher war mein
            zweiter Gedanke: ins alte Script einbauen.

            gedacht und gleich getan:

            PHP-Code:
            <?
            $row = 1;
            $handle = fopen("datei.csv", "r");
            while (($data = fgetcsv($handle, 500, "|")) !== FALSE) {
               $num = count($data);
               echo "<p> $num fields in line $row: <br /></p>\n";
               $row++;
               for ($i=10; $i <=15; ++$i) {
                   echo $handle[$i];
               }
            }
            fclose($handle);
            ?>
            Hier werden alle 301 datensätze angezeigt. Also wird hier nicht nur die zeilen 10 bis 15 ausgeben.

            Also es ist nicht so, daß ich mir keine Platte gemacht hätte, nur bin ich ebend nicht so fit im PHP und muss ebend so dumme Fragen stellen.
            wer nicht fragt.......
            Pretender

            Kommentar


            • #7
              Original geschrieben von Pretender
              [...] habe ich es getestet [...] und habe lediglich ein leere Seite bekommen.
              Steht dein error_reporting auf E_ALL?


              Und zu deinem "Einbau":
              $handle[$i] ausgeben zu wollen, ist Blödsinn.
              $handle ist der Rückgabewert von fopen, also lediglich ein "Dateizeiger".
              Hier werden alle 301 datensätze angezeigt.
              Schwer zu glauben - der gezeigte Code ist derart unsinnig, der dürfte den Zeileninhalt überhaupt nirgends ausgeben.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Habe das kleine Script zum Test nochmal versucht und siehe da es geht.
                Wer weiss was ich da vorhin falsch gemacht habe. Also sorry!

                Nun bekomme ich alle Spalten von Zeile 10 bis 15 angezeigt.

                Der nächste Schritt ist dann, alle Spalten aufzuschlüsseln und per INSERT in eine SQL zu schreiben.
                wer nicht fragt.......
                Pretender

                Kommentar

                Lädt...
                X