Цикл, пока не вернется true с PHP - PullRequest
9 голосов
/ 27 февраля 2012

Я генерирую случайный код, и мне нужно проверить, чтобы убедиться, что кода еще нет в базе данных.Я предполагаю, что это требует некоторого типа цикла.Мой запрос полностью настроен, и мне нужно, чтобы он снова запустил блок кода, если mysql_num_rows == 0.

Ответы [ 4 ]

25 голосов
/ 27 февраля 2012

Используйте петлю do...while:

do {
  // Your logic
} while (condition);
15 голосов
/ 27 февраля 2012
$key = true;

    while($key){
        // Do stuff
        if(mysql_num_rows($result) > 0) $key = false;
    }
2 голосов
/ 12 марта 2013

Простое обновление скрипта Джеймса Л. - петлевой скрипт для проверки наличия идентификатора входа в базу данных. Если существует, добавит +1 после входа в систему:

    $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 голосов
/ 05 октября 2015

Вот совсем другой маршрут:

while(true){
    if(/* Your logic which you expect to be true */){
        break;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...