You are not logged in.

wcf.regNote.message

Joki

Beginner

  • "Joki" started this thread

Posts: 6

  • Send private message

1

Wednesday, July 20th 2005, 1:26pm

letzte Zeile nicht lesen

Hi Leute,

wie kann ich verhindern, dass die letzte Zeile einer txt.-Datei nicht gelesen und angezeigt wird??

Hier mein Code:

PHP Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
$i 0;
$dateiname "../../../buchungen/$buchungen".".txt";
if(file_exists($dateiname)){  //prüfe ob Datei vorhanden
  $datei fopen($dateiname"r+"); //öffne Datei zum lesen
    if($datei){
        echo "<table width='100%' border='0'>";
          echo "<tr><td class='abfrage' width='2%'>Nr.</td><td class='abfrage' width='12%'>Res-Nummer</td><td class='abfrage' width='5%'>Herkunft</td><td class='abfrage' width='10%'>Gastname</td><td class='abfrage' width='6%'>Anreise</td><td class='abfrage' width='6%'>Abreise</td><td class='abfrage' width='2%'>Nächte</td>";
        echo "<td class='abfrage' width='6%'>Preis Kat1</td><td class='abfrage' width='8%'>Gesamt Kat1</td><td class='abfrage' width='6%'>Preis Kat2</td><td class='abfrage' width='8%'>Gesamt Kat2</td><td class='abfrage' width='8%'>12% Komm</td><td class='abfrage' width='8%'>Status Kat1</td>";
        echo "<td colspan='2'class='abfrage' width='8%'>Status Kat2</td></tr>"; 
        echo "<tr><td colspan='15' class='abfrage'>&nbsp;</td></tr>";
    $nr 0;
    $gesamtkommi 0;
    $gesamtkat1 0;
    $gesamtkat2 0;
      while(!feof($datei)){ //mache bis Datei zu Ende
          $zeile fgets($datei255); //lese zeilenweise aus
          $liste[] = explode(",",$zeile); //zerlege Zeile in einzelne Werte  
          $nr++; 
          echo "<td class='abfrage' width='2%'>".$nr."</td><td class='abfrage'width='12%'>".$liste[$i][0]."</td><td class='abfrage' width='5%' align='center'>".$liste[$i][1]."</td><td class='abfrage' width='17%'>".$liste[$i][2]." ".$liste[$i][3]." ".$liste[$i][4]."</td>";
          echo "<td class='abfrage' width='6%'>"."  ".$liste[$i][5]."</td><td class='abfrage' width='6%'>".$liste[$i][6]."</td><td class='abfrage' align='center'  width='2%'>".$liste[$i][7]."</td>";
          if($liste[$i][9] == "wurde nicht gewählt" || ($liste[$i][8] == " ")){//Wenn Kat 1 nicht gewählt
               echo "<td class='abfrage' align='right' width='5%'>&nbsp;</td><td class='abfrage' align='right' width='8%'>&nbsp;</td>";     
          }
          else{
                echo "<td class='abfrage' align='right' width='5%'>".$liste[$i][8]." ?"."</td><td class='abfrage' align='right' width='8%'>".$liste[$i][9]." ?"."</td>";
          }
          if($liste[$i][11] == "wurde nicht gewählt" || ($liste[$i][10] == " ")){// Wenn Kat 2 nicht gewählt
              $kom1 $liste[$i][12];
            $kom sprintf("%01.2f"$kom1)." ?";
            echo "<td class='abfrage' width='5%'>&nbsp;</td><td class='abfrage' width='8%'>&nbsp;</td><td class='abfrage' align='right' width='6%'>".$kom."</td><td class='abfrage' width='6%'>&nbsp;&nbsp;".$liste[$i][13]." ".$liste[$i][14]."</td>";
              echo "<td class='abfrage' width='6%'>&nbsp;&nbsp;".$liste[$i][15]." ".$liste[$i][16]."</td><td class='abfrage' width=''>&nbsp;</td></tr>";

          }
          else{
              $kom1 $liste[$i][12];
            $kom sprintf("%01.2f"$kom1)." ?";    
            echo "<td class='abfrage' align='right' width='5%'>".$liste[$i][10]." ?"."</td><td class='abfrage' align='right' width='8%'>".$liste[$i][11]." ?"."</td><td class='abfrage' align='right' width='6%'>".$kom."</td><td class='abfrage' width='6%'>&nbsp;&nbsp;".$liste[$i][13]." ".$liste[$i][14]."</td>";
              echo "<td class='abfrage' width='6%'>&nbsp;&nbsp;".$liste[$i][15]." ".$liste[$i][16]."</td><td class='abfrage' width=''>&nbsp;</td></tr>";
          }
          $test $liste[$i][11];
          $gesamtkommi1 += $liste[$i][12];
          $gesamtkommi sprintf("%01.2f"$gesamtkommi1);
          $gesamtkat11 += $liste[$i][9];
          $gesamtkat1 sprintf("%01.2f",$gesamtkat11);
          $gesamtkat21 += $liste[$i][11];
          $gesamtkat2 sprintf("%01.2f"$gesamtkat21);
          $i++;      
      }


Danke schon mal und Gruss Joki

Ephraim

Professional

Posts: 826

Location: coder-board.info

Occupation: Info-Student

  • Send private message

2

Wednesday, July 20th 2005, 1:44pm

Ich würd ma sagen du machst des ganz einfach so:

PHP Source code

1
2
3
4
$file File("../../../buchungen/$buchungen.txt"); //Dadurch erhälst du ein Array mit Einträgen per Zeile aus der Datei

for ($i 0$i count($file) - 1$i++)
           echo "Zeile ".$i 1.":    ".$file[$i]."<br />";

Dadurch, dass du count() -1 machst, wird die letzte Zeile wegelassen.

ciao Ephraim

Joki

Beginner

  • "Joki" started this thread

Posts: 6

  • Send private message

3

Wednesday, July 20th 2005, 2:09pm

und die Ausgabe formatiere ich dann wieder, oder kann ich das so in meinem Script verwenden?

Wohl eher selber bauen, oder?

Joki

Ephraim

Professional

Posts: 826

Location: coder-board.info

Occupation: Info-Student

  • Send private message

4

Wednesday, July 20th 2005, 2:21pm

Des sollte eingentlich nur als Beispiel dienen ;) ... Ich hab mir deinen Code auch nicht wirklich angeschaut, bloss wie du die Zeilen ausliest.

Ciao Ephraim

Joki

Beginner

  • "Joki" started this thread

Posts: 6

  • Send private message

5

Wednesday, July 20th 2005, 2:31pm

Wär aber schon nett, wenn Du mal schaust, ob ich das machen kann.

Alles was ich probier endet in einer Endlosschleife!!

Joki

Joki

Beginner

  • "Joki" started this thread

Posts: 6

  • Send private message

6

Monday, July 25th 2005, 10:06am

Die Lösung

Hi Leutz,

Danke für die Antworten, habs so gelöst:

Diesen Teil....

PHP Source code

1
2
3
4
5
6
<?php
while(!feof($datei))
   { //mache bis Datei zu Ende
      $zeile fgets($datei255); //lese zeilenweise aus
      $liste[] = explode(",",$zeile); //zerlege Zeile in einzelne Werte
?>


durch diesen ersetzt// funzt!!!

PHP Source code

1
2
3
4
5
6
7
8
9
10
11
<?php
while(!feof($datei))
   {
      $zeile fgets($datei255); //lese zeilenweise aus
      $liste[$i] = explode(",",$zeile); //zerlege Zeile in einzelne Werte
      $i++;
   }
   $i 0;
   while ($i < (sizeof($liste) - 1))
   {
?>


Danke und Gruss Joki

wcf.user.socialbookmarks.titel