2012-02-27 10 views
8

Generuję losowy kod, i muszę sprawdzić, aby upewnić się, że kod nie jest już w bazie danych. Zakładam, że wymaga to pewnego rodzaju pętli. Mam całą konfigurację zapytania i potrzebuję jej, aby ponownie uruchomić blok kodu, jeśli mysql_num_rows == 0.Pętla aż do powrotu z PHP

Odpowiedz

14
$key = true; 

    while($key){ 
     // Do stuff 
     if(mysql_num_rows($result) > 0) $key = false; 
    } 
+1

muszę to uruchomić ponownie, jeśli nie jest to istniejący rząd, więc chciałbym ustawić $ key = prawda na końcu i ustawić na false, jeśli 'mysql_num_rows == 0' w prawo? – DannyF247

+0

Tak, w prawo. Po prostu zmień> na ==, a następnie –

24

Użyj do...while pętlę:

do { 
    // Your logic 
} while (condition); 
2

prosty upgrade James L. Script - skrypt pętli do badania, jeśli istnieją Identyfikator logowania w bazie danych. Jeśli istnieje, doda +1 po zalogowaniu:

$key = true; 
    $a = 1; 
    $login_test_origin=$login_test; 

    while($key){   
    $query_test="SELECT count(*) as 'all' FROM user WHERE login='$login_test'"; 
    $row_test=mysql_fetch_array(mysql_query($query_test)); 
    $error=$row_test[all];  

      if($error > 0) { 
       $key = true; 
       $login_test=$login_test_origin.$a; 
       $a++;    
          } 

      else { 
       $key = false; 
       $login=$login_test; 
       } 
     } 

echo"Used login ID: $login"; 
0

Tutaj jest zupełnie inna droga:

while(true){ 
    if(/* Your logic which you expect to be true */){ 
     break; 
    } 
} 
+0

@jisaak. Jak to jest nowe pytanie? Jest to oczywiście odpowiedź na pierwotne pytanie. – Anders