lvl: Schleife mit bedingung

Moin,

vielleicht ist es einfach noch zu früh, aber ich hätte gerne in PHP eine schleife, in der ich ein ergebnis erhalte. (soweit kein problem)

ich mache in jedem durchlauf ein sql und bekomme jedes mal nen anderen rückgabe wert. (auch kein problem)

wenn ich nun den gesuchten wert erhalte, soll er die schleife abbrechen... geht das überhaupt?

for($i=1;$i<=$lastday AND $x = "a";$i++)
{
#SQL steht für meinen sql
$a = ergebnis_aus_sql;
}

geht diese schleife?

--
MfG lvl
  1. Hi,

    wenn ich nun den gesuchten wert erhalte, soll er die schleife abbrechen... geht das überhaupt?

    ja.

    for($i=1;$i<=$lastday AND $x = "a";$i++)

    Inwieweit glaubst Du, eine Zuweisung würde Dir an dieser Stelle nützlich sein?

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Inwieweit glaubst Du, eine Zuweisung würde Dir an dieser Stelle nützlich sein?

      sorry $x == "a"

      --
      MfG lvl
    2. Hi,

      wenn ich nun den gesuchten wert erhalte, soll er die schleife abbrechen... geht das überhaupt?

      ja.

      for($i=1;$i<=$lastday AND $x = "a";$i++)

      Inwieweit glaubst Du, eine Zuweisung würde Dir an dieser Stelle nützlich sein?

      sorry
      ich meinte
      $x=="a"

      ich sagte ja ist zu früh *fg*

      --
      MfG lvl
  2. Hello out there!

    for($i=1;$i<=$lastday AND $x = "a";$i++)
    {
    #SQL steht für meinen sql
    $a = ergebnis_aus_sql;
    }

    Wie nun, $a oder $x? Und du möchtest vergleichen? Das wäre $x == "a"

    Die Schleife wird solange wiederholt, wie die Bedingung erfüllt ist. Du möchtest aber beim gesuchten Wert _abbrechen_, also $x != "a"

    See ya up the road,
    Gunnar

    --
    „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
    1. Danke

      mir ging es in erster linie darum ob ich in einer for schleife eine weitere bedingung per and hinzufügen kann.

      --
      MfG lvl
      1. hi,

        mir ging es in erster linie darum ob ich in einer for schleife eine weitere bedingung per and hinzufügen kann.

        Das Manual sagt doch in der Beschreibung der for-Schleife, dass sie drei Ausdrücke als "Parameter" nimmt.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
  3. Hallo,

    vielleicht ist es einfach noch zu früh, aber ich hätte gerne in PHP eine schleife, in der ich ein ergebnis erhalte. (soweit kein problem)

    ich mache in jedem durchlauf ein sql und bekomme jedes mal nen anderen rückgabe wert.

    das sieht nach einem fehlerhaften Konzept aus. Konzipiere Deine Abfrage so, dass sie Dir direkt das Ergebnis liefert. Datenbankabfragen sind teuer - und Dein Vorgehen legt nahe, dass Du vorhandene SQL-Funktionalität mit PHP nachbilden willst. In den meisten Fällen ist das keine gute Idee.

    Vermutlich könnte ein Subquery oder ein einfacher Join Dir Dein Ergebnis direkt liefern. Dazu wären nähere Informationen von Dir nötig:

    Welche Daten (Tabellen, Spalten) gibt es? Welche Einschränkungen gibt es? Welches Ergebnis suchst Du?

    Freundliche Grüße

    Vinzenz

    1. hi,

      Dazu wären nähere Informationen von Dir nötig:

      Welche Daten (Tabellen, Spalten) gibt es? Welche Einschränkungen gibt es? Welches Ergebnis suchst Du?

      Und vor allem: Welches DBMS und in welcher Version nutzt du? :-)

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
  4. Hi,

    wenn ich nun den gesuchten wert erhalte, soll er die schleife abbrechen... geht das überhaupt?

    Prinzipiell ja, aber Du solltest Dir eine Syntax suchen, die Deinem Problem besser entspricht. Damit schafft Du Code, der am ehesten fehlerfrei und besser verständlich ist.

    Solange (i < lastday und x != a) tue folgendes
    {
       a = blablabla
       incremetiere i
    }

    oder auch

    tue folgendes
    {
       a = blablabla
       incremetiere i
    }
    solange (i < lastday und x != a)

    Eine While- oder Do-While-Schleife würde also viel besser zu Deinem Problem passen. Im Zweifelsfall würde ich die For-Schleife auch lieber mit einer break-Anweisung beenden, also so ein Konstrukt zu bauen, das auf den ersten Blick keiner versteht und auch nicht dem prinzipiellen Sinn einer For-Schleife entspricht.

    Ciao, Fanny