Guten Morgen, oder eher schon Mittag,
ich habe folgendes (kleine) Problem, für das ich bis jetzt noch keine Lösung gefunden habe. Undzwar brauche ich für ein Script eine While-Schleife in einer While-Schleife. Nur das funktioniert leider nicht. Also suche ich eine Ersatz-Möglichkeit.
Zum Hintergrund: Es geht darum Die Aus allen Unterkategorien einer Kategorie (Die erste While) sämtliche Einträge aller untergeordneten Kategorien abzufragen und zu addieren (zweite, nicht mögliche While).
Zur Verdeutlichung einmal ein simples Beispiel:
In einem Forum wird ein Unterforum geöffnet. Nun sollen alle dazugehörigen (also in diesem Unterforum befindlichen) Unterforen angezeigt werden (Erste While) und dazu sollen die Themen, die in dem Unterforum und allen anderen untergeordneten (Also alle Unterforen des Unterforums ) zusammengezählt werden.
Das ganze in PHP, nur so nebenbei erwähnt ^^
So, ich hoffe auf gute Ratschläge oder Lösungen und somit auf schnelle Hilfe =)
Grüße,
Saniel
While-Schleife in While-Schleife - Ersatz?
gepostet vor 16 Jahre, 6 Monate von Saniel
gepostet vor 16 Jahre, 6 Monate von progs
Und wieso funktionieren keine 2 While-Schleifen?
gepostet vor 16 Jahre, 6 Monate von TheUndeadable
Ich vermute, dass er zwei Datenbankverbindungen braucht....
gepostet vor 16 Jahre, 6 Monate von Saniel
Bei einer While kein Problem, aber sobald eine zweite While drin war, wurden beide nicht ausgeführt. Oder irre ich mich und es lag bis jetzt immer an was anderem?
gepostet vor 16 Jahre, 6 Monate von TheUndeadable
while ( $n < 10 )
{
while ( $m < 100 )
{
echo ( $n . ' ' . $m );
$m++;
}
$n++;
}
'funzt' einwandfrei.
{
while ( $m < 100 )
{
echo ( $n . ' ' . $m );
$m++;
}
$n++;
}
'funzt' einwandfrei.
gepostet vor 16 Jahre, 6 Monate von darkmanx
Der Fehler, den viele übersehen könnte folgender sein:
while( $data = mysql_fetch_array($sql) )
{
$sql = mysql_query("...");
while( $zweiterdatensatz = mysql_fetch_array($sql) )
{
...
}
}
die erste schleife wird dann nur einmal ausgeführt.
ps: weiß aber nicht gneua was dein problem ist -> schlechte beschreibung.
$sql = mysql_query("..");
while( $data = mysql_fetch_array($sql) )
{
$sql = mysql_query("...");
while( $zweiterdatensatz = mysql_fetch_array($sql) )
{
...
}
}
die erste schleife wird dann nur einmal ausgeführt.
ps: weiß aber nicht gneua was dein problem ist -> schlechte beschreibung.
gepostet vor 16 Jahre, 6 Monate von Saniel
Vielen Dank erstmal für die Antworten, ich werde das ganze einfach mal neu schreiben und schaun was bei raus kommt.
Das mit der Beschreibung stimmt, da mein Problem nicht so einfach zu erklären ist oder ich einfach nicht die richtigen Worte dafür finde xD
Habe schon versucht, das ganze an dem Forenbeispiel zu verdeutlichen, aber das ist auch nicht so einfach
Jedenfalls vielen Dank für die Hilfe =)
Grüße,
Saniel
Das mit der Beschreibung stimmt, da mein Problem nicht so einfach zu erklären ist oder ich einfach nicht die richtigen Worte dafür finde xD
Habe schon versucht, das ganze an dem Forenbeispiel zu verdeutlichen, aber das ist auch nicht so einfach
Jedenfalls vielen Dank für die Hilfe =)
Grüße,
Saniel
gepostet vor 16 Jahre, 6 Monate von Kallisti
Im Zweifel einfach deinen ganzen Code posten (mit irgeneinem pastebin Service oder hochladen) und das Problem grob beschreiben, ist immer besser als wenn man nichts zur Hand hat.
Im Grunde kann das Problem aber wirklich nur sein, dass du die gleichen Variablen in beiden Schleifen verwendest (die irgendwas mit der Schleifenbedingung zu tun haben, sei es mit SQL, oder dass z.B. wie in undeadables Beispiel "m" auch "n" ist..) oder eben ein unabhängiger Logikfehler drin ist. Mit der Verschachtelung als solche hat es auf jeden Fall nichts zu tun.
Im Grunde kann das Problem aber wirklich nur sein, dass du die gleichen Variablen in beiden Schleifen verwendest (die irgendwas mit der Schleifenbedingung zu tun haben, sei es mit SQL, oder dass z.B. wie in undeadables Beispiel "m" auch "n" ist..) oder eben ein unabhängiger Logikfehler drin ist. Mit der Verschachtelung als solche hat es auf jeden Fall nichts zu tun.
gepostet vor 16 Jahre, 6 Monate von MrMaxx
Könnte das vielleicht in die Lobby verschoben werden?
Edit: Boar ich bin echt bräsig in letzter Zeit...
Edit: Boar ich bin echt bräsig in letzter Zeit...
gepostet vor 16 Jahre, 6 Monate von TheUndeadable
@MrMaxx:
Galaxy-News Forum » Browsergame-Entwicklung » Lobby » While-Schleife in While-Schleife - Ersatz?
Das Ding ist schon in der Lobby ;-)
Galaxy-News Forum » Browsergame-Entwicklung » Lobby » While-Schleife in While-Schleife - Ersatz?
Das Ding ist schon in der Lobby ;-)
gepostet vor 16 Jahre, 6 Monate von Saniel
Nee, die Variablennamen sind komplett anders
Inzwischen klappt es aber auch, hab wohl irgendwo anders einen Fehler gemacht. Vielen Dank für die Hilfe =)
Inzwischen klappt es aber auch, hab wohl irgendwo anders einen Fehler gemacht. Vielen Dank für die Hilfe =)