Schleife

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

  • Schleife

    Folgendes Problem:

    Innerhalb der while-Schleife werden insgesamt 6 Zeilen (oder mehr) ausgegeben. Ich stolpere immer über das Problem, dass die Meldung „ungültige Eingabe“ nun auch 6 mal ausgegeben wird.
    1. Wie kann ich es anstellen, dass statt 6 mal „ungültige Eingabe“ nur einmal ausgegeben wird.
    2. Ich möchte aber auch, dass wenn mindestens 1 Feld einen Wert größer 0 enthält, die Meldung erscheint „Vielen Dank“.


    while ($row=mysql_fetch_row($result)){

    if ($anz[$row[1]]!=0 || $anz[$row[1]]>0) {
    $err_feld=1;
    // Erfolgsflag für das Abschicken
    }
    else {
    echo " ungültige Eingabe ";
    }
    }

    Nun sitze ich schon mehrere Stunden dran und kriegs nicht hin. Kann mir hier jemand behilflich sein?!

    Danke schon mal vorab.

  • #2
    hmm,

    PHP-Code:
    if ($anz[$row[1]]!=|| $anz[$row[1]]>0) { 
    ist doch dann falsch, sollte heissen :

    PHP-Code:
    if ($anz[$row[1]]<>|| $err_feld ==1) { 
    oder ?

    Kommentar


    • #3
      muss es nicht heissen $anz[$row[1]]!==0 , also 2 Gleichheitszeichen?
      Wg. der 6fachen Meldung, nimm diese doch aus der Schleife raus und definiere sie mit einer weiteren if-Anweisung.
      mfg

      Kommentar


      • #4
        1) Das doppelte Gleichheitszeichen sorgt dafür, dass zusätzlich der Typ überprüft wird; das sollte hier aber unnötig sein.
        2) größer als Null ist auch ungleich Null, deswegen kann die zweite Bedingung weggelassen werden.
        3) Bei Flags arbeitet man besser mit true und false, ist besser zu lesen.
        PHP-Code:
        $err_feld false;
        for (
        $i=0$i<&& $row=mysql_fetch_row($result); $i++)
        {
          if (
        $anz[$row[1]]) { 
            
        $err_feld true;
            
        // Erfolgsflag für das Abschicken
          

        }
        if (!
        $err_feld)

          echo 
        " ungültige Eingabe ";

        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