Bedingung innerhalb Schleife wird nicht ausgewertet?

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

  • Bedingung innerhalb Schleife wird nicht ausgewertet?

    Ich muß mich mal als absoluter Anfänger outen. Dabei hab ich einen einfachen Codeschnipsel, der einfach nicht tut, was er soll:

    $anzahl=$_POST["anzahl"];

    for($i = 0;$i < $anzahl;$i++){
    if($i %10 == 0){
    echo'<br>';
    }
    echo'$';
    }

    Normalerweise sollte nach jedem 10ten Dollarzeichen ein Zeilenvorschub ausgegeben werden. Statt dessen werden die Dollarzeichen alle in einer Zeile ausgegeben.
    Ich kann beim besten Willen keinen Fehler finden, auch die Beispiele in PHPEclipse Help scheinen identisch zu sein.
    Jetzt bin ich ratlos.

    Hat jemand einen Tip für mich?
    mfg
    Bogo

  • #2
    also ich habe den code mal 1 zu 1 ausprobiert und bei mir hat es wunderbar funktioniert.

    $anzahl muss natürlich auch > 10 sein, damit du etwas siehst...


    und ich würde lieber

    PHP-Code:
     if($i %10 == AND $anzahl != 0
    machen, sonst hast du vor dem 1. Dollarzeichen auch schon einen Zeilenumbruch.
    signed oder unsigned... das ist hier die Frage

    Kommentar


    • #3
      Also dein Code funzt bei mir http://tobisworld.ch/misc/test/temp.php
      Ich würde in die Bedingung noch folgende Prüfung einbauen, damit bei $i=0 kein br ausgegeben wird. Was steht denn bei dir im HTML Quelltext, wenn alles in einer Zeile ausgeben wird?
      PHP-Code:
      if($i %10 == && $i !=0){
      [...] 

      Gruss

      tobi
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        Irgendwie bin ich daneben. Weder im PHP- Browser der Eclipse noch im Firefox funktioniert bei mir der Zeilenumbruch.
        Weils nicht allzuviel ist, hier mal die ganze html- Seite:
        <html>
        <head>

        <title>dollars_in_bundles.php</title>
        </head>
        <body>

        Wieviele Dollar möchten Sie haben?
        <br/>

        <?php

        if(isset($_POST["auszahlen"])){
        echo "<form action='wieviele_dollar.php' method='post'>";

        echo "<input type='text' name='anzahl' value='$anzahl' size='8'/>";

        echo "<input type='submit' name='auszahlen' value='Auszahlen'/>";

        echo "</form>";

        $anzahl=$_POST["anzahl"];

        for($i = 0;$i < $anzahl;$i++){
        if($i %10 == 0){
        echo'<br>';
        }
        echo'$';
        }
        }

        else {
        echo "<form action='wieviele_dollar.php' method='post'>";

        echo "<input type='text' name='anzahl' size='8'/>";

        echo "<input type='submit' name='auszahlen' value='Auszahlen'/>";

        echo "</form>";

        }
        ?>
        </body>
        </html>

        Kommentar


        • #5
          Wie gesagt dein Code funzt bei mir (schau das File das ich verlinkt habe). Ich habe dich nach dem HTML Output gefragt. Wie schaut dieser bei dir aus? Error Reporting voll aufgedreht?
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            Arrrghh...
            Ich doof.
            Entschuldigt, für soviel Dummheit und Blindheit müsste ich Schläge beziehen.
            Wer Kopiert und dann vergisst anzupassen...
            Der Fehler liegt im "<form action=". Hier war ein anderes script eingetragen, das die Zeichen unformatiert ausgibt.
            Mannmannmann.
            Zwölf Stunden gesucht.
            mfg
            bogo

            Kommentar

            Lädt...
            X