list ($key, $val) = each ($a) :: в цикле не работает

Rynor

stay hungry
list ($key, $val) = each ($a) :: в цикле не работает

Уважаемые!
Вроде бы все просто. Берем записи из БД и выводим значение одного поля в соответствии с неким массивом.
PHP:
while ($row = mysql_fetch_array ($rs)){
   while (list ($key, $val) = each ($arr_auth)) {
      if ($row["lalalala"]==$val) {echo $key;}
   }
}
скажем в 20 выбранных записях из БД условие if выполняется 19 раз, но (list ($key, $val) = each ($arr_auth)) выполняется только единожды, как мне заставить выполняться его столько, сколько записей выбрано?
читаю доку, но через форум как-то приятнее просвещяться :)

Заранее благодарен за помощь.
 

RomikChef

Guest
а все-таки, через доку привильнее.
Ну, или хотя бы капельку воображения.
ну доходит у тебя each до конца массива. все следующие вызовы each не будут возвращать нчего - массив кончился!
Это во-первых.
Дальше - больше. Судя по всему, ты проверяешь пароль по базе.
Ты делаешь это очень и очень странно. Лучше скажи, что у тебя в arr_auth. как минимум уж ассоциативные массивы никогда в цикле не перебераются.
 

RomikChef

Guest
ты вообще неправильно делаешь.
Вс, что тебе надо, делается одним запросом к базе
 
Сверху