Schleife mit bedingung
lvl
- php
0 Cheatah0
Gunnar Bittersmann
0 Vinzenz Mai0 wahsaga
0 Fanny
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?
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
Inwieweit glaubst Du, eine Zuweisung würde Dir an dieser Stelle nützlich sein?
sorry $x == "a"
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*
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
Danke
mir ging es in erster linie darum ob ich in einer for schleife eine weitere bedingung per and hinzufügen kann.
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
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
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
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