2016-09-19 2 views
0

Ich habe 15 Datenbanken 1,2,3,4, ... 15 und ich habe die Variable $ i Standard bei 1 und jedes Mal, wenn der $ i-Zahl bekommt 3, $ i startet die Schleife erneut von 1 bis 3 und stoppt, bis der Wert aus der Datenbank gezählt ist.kann nicht die Logik zum Neustart Schleife

$detailPsycho = mysql_query("SELECT * FROM `psycho` WHERE `flag` = 2 ") or die(mysql_error()); 
     while($detail = mysql_fetch_array($detailPsycho)){ 

    for($i = 1;$i<=3;$i++){ 
     echo $detail['sequence']."&".$i." <br>"; 
    } 
     } 

und überfahren wie folgt aus:/

1&1 
1&2 
1&3 
2&1 
2&2 
2&3 
+1

Was genau funktioniert nicht so, wie Sie erwarten? – Blake

+0

Ich denke, es wird wie 1 & 1, 2 & 2, 3 & 3, 4 & 1, 5 & 2 und so weiter gehen. LoL –

+0

Sie könnten die for-Schleife in der while-Schleife entfernen und $ i auf 0 initialisieren und das Echo ($ i% 3 + 1) erzeugen und $ i in der while-Schleife erhöhen. –

Antwort

1

Sie versuchen, eine Schleife (for{}) in einer Schleife (while{}), die etwas zu tun trivial eine komplizierte Art und Weise zu tun ist. Dies ist das "while + for" Ergebnis:

$detailPsycho = mysql_query("SELECT * FROM `psycho` WHERE `flag` = 2 ") or die(mysql_error()); 

i = (int) 1; 
while($detail = mysql_fetch_array($detailPsycho)) { 

    echo $detail['sequence']."&".$i." <br>"; 
    $i++; 
    if ($i > 3) $i = 1; 
} 
+0

herrliche Proger. LoL thx Mann .. :) –