[Variablen] Poll mit Textdatei!

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

  • [Variablen] Poll mit Textdatei!

    Hi all.

    Ich habe einen Poll geschrieben der aus einer Text-datei ausliest. Die erste Frage und die Ergebnisse werden korrekt angezeigt. Bei der zweiten Frage schierterts dann. Aber hier erstmal der Code:
    PHP-Code:
    <?

    $datei = fopen("1.txt",r);
    $s = 0;
    while($s<10)
    {
        $data[$s] = fgets($datei);
        $s++;
    }
    echo("
    <br><br>
    $data[0]<br>$data[1]<br>$data[2]<br>$data[3]
    <br><br>
    ");

    $name = explode("||",$data[0]);
    echo("
        <table align='center' width='70%'>
        <td align='center' width='100%'><b>$name[0]</b></td>
        </table>
    ");

    $i = 0;
    while($i<$name[1])
    {
        echo("erstes I: $i<br>");
        $o=($i+1);
        echo("das O: $o<br>");
        $frage = explode("::",$data[$o]);
        $result = explode(".",$frage[$o]);

        $all = ($result[0] + $result[1] + $result[2] + $result[3] + $result[4] + $result[5]);
        echo("all: $all<br>");

        for($k=0;$k<5;$k++)
            $barl[$k] = ((100/$all)*$result[$k]);

        echo("
            <form action='poll.php?pid=$pid' method='post' name='form1' target='_top'>
            <table width='700' border='0' cellpadding='2' cellspacing='0' class='pollrahmen'>
            <tr>
            <td colspan='2' class='pollfrage'>$frage[0]</td>
            </tr><tr>
               <td align='right' class='polltext'>Super!
            </td>
            <td width='20' align='left'><input type='radio' name='answer' value='1'>
    <td align='center' width='140'><img src='images/bar.jpg' width='$barl[0]' height='10'>
    </img>$result[0] ($barl[0] %)</td></td>
            </tr><tr>
            <td align='right' class='polltext'>Gut
            </td>
            <td width='20' align='left'><input type='radio' name='answer' value='2'>
    <td align='center' width='140'><img src='images/bar.jpg' width='$barl[1]' height='10'>
    </img>$result[1] ($barl[1] %)</td></td>
            </tr><tr>
            <td align='right' class='polltext'>In Ordnung
            </td>
            <td width='20' align='left'><input type='radio' name='answer' value='3'>
    <td align='center' width='140'><img src='images/bar.jpg' wodth='$barl[2]' height='10'>
    </img>$result[2] ($barl[2] %)</td></td>
            </tr><tr>
            <td align='right' class='polltext'>Geht so
            </td>
            <td width='20' align='left'><input type='radio' name='answer' value='4'>
    <td align='center' width='140'><img src='images/bar.jpg' width='$barl[3]' height='10'>
    </img>$result[3] ($barl[3] %)</td></td>
            </tr><tr>
            <td align='right' class='polltext'>Naja
            </td>
            <td width='20' align='left'><input type='radio' name='answer' value='5'>
    <td align='center' width='140'><img src='images/bar.jpg' width='$barl[4]' height='10'>
    </img>$result[4] ($barl[4] %)</td></td>
            </tr><tr>
            <td align='right' class='polltext'>Schlecht
            </td>
            <td width='20' align='left'><input type='radio' name='answer' value='6'>
    <td align='center' width='140'><img src='images/bar.jpg' width='$barl[5]' height='10'>
    </img>$result[5] ($barl[5] %)</td></td>
            </tr><tr>
        ");
        $i++;
        echo("zweites I:$i<br>");

    }
        echo("
            </tr><tr><td colspan='2' align='center'>
                    <input name='Submit' type='submit' class='pollsubmit' value='wählen'>
            </td><td align='center'>Gesamtstimmen: $all</td>
            </tr>
              </table></form>
        ");
    ?>
    Die einzelnen Zeilen werden hiermit eingelesen:
    PHP-Code:
    $datei fopen("1.txt",r);
    $s 0;
    while(
    $s<10)
    {
        
    $data[$s] = fgets($datei);
        
    $s++;

    Dann werden die Fragen und die Ergenbisse mit explode(); aus den $data[$o] geholt. $o ist $i+1, weil die erste Zeile der Datei einen Namen und die Anzahl der Fragen enthält (Name||$anzahl).
    Genauso werden hier die Gesamtzahl und die Prozentwerte berechnet.
    PHP-Code:
    $name explode("||",$data[0]);
    echo(
    "
        <table align='center' width='70%'>
        <td align='center' width='100%'><b>
    $name[0]</b></td>
        </table>
    "
    );

    $i 0;
    while(
    $i<$name[1])
    {
        echo(
    "erstes I: $i<br>");
        
    $o=($i+1);
        echo(
    "das O: $o<br>");
        
    $frage explode("::",$data[$o]);
        
    $result explode(".",$frage[$o]);

        
    $all = ($result[0] + $result[1] + $result[2] + $result[3] + $result[4] + $result[5]);
        echo(
    "all: $all<br>");

        for(
    $k=0;$k<5;$k++)
            
    $barl[$k] = ((100/$all)*$result[$k]); 
    Und schliesslich wird alles ausgegeben. Halt so lange bis die Anzahl der Fragen erreicht ist.
    Bei der ersten Umfrage funzt es auch, aber bei der zweiten werden keine variablen für die Ergebnisse übergeben. Für die Fragen schon. $o und $i werden korrekt weitergezählt. Und wenn ich das mit...
    PHP-Code:
        $frage explode("::",$data[2]); 
    ...statt...
    PHP-Code:
        $frage explode("::",$data[$o]); 
    ...ausgeben lasse funzt es auch. Für die zweite Frage wird es dann korrekt ausgegeben.

    Ich weiss echt nichtmehr weiter.
    Ich bin dankbar für jede Hilde

    greetz
    Zuletzt geändert von [=-!H.P.INC.!-=; 29.02.2004, 00:19.

  • #2
    hab zwar keine Hilde über, aber ich kann versuchen, dir Hilfe zu geben.

    1. Hat die Datei ne dritte Zeile?

    2. lies doch mal aus mit
    $data = file('1.txt');
    (hat zwar vermutlich nix mit deinem Problem zu tun; aber warum unnötig viel tippen?!)

    3. Was soll das denn???
    $frage = explode("::",$data[$o]);
    $result = explode(".",$frage[$o]);
    ach ja ... steht ja ganz unten.

    aber am besten, du postest mal ne kurze Beispiel-Datei.
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar

    Lädt...
    X