[Решено] Апдейт значений таблицы в цикле

Статус
В этой теме нельзя размещать новые ответы.

linpc

Гуру форума
Регистрация
6 Апр 2012
Сообщения
178
Реакции
55
PHP:
$result=mysql_query('SELECT `time`,`count`,`difficult` FROM `trees_cell`');
 while ($row = mysql_fetch_assoc($result)){
 if(time() > $row['time'] and $row['count']=='0'){
     $r = rand(50,200);
     mysql_query("UPDATE `trees_cell` SET `count`=".$r." WHERE count='0'");
 }   
 }

Он должен вносить случайное число, везде где будет count = 0, но вносит 1 знание, допустим 5 или 7. Во все строчки. Но не случайное.
 
Последнее редактирование модератором:
ну правильно. ты каждую итерацию делаешь апдейт всех значений, у кого count='0' и на последнем цикле он перезаписывает все последним сгенеренным значением
PHP:
$result=mysql_query('SELECT `id`,`time`,`count`,`difficult` FROM `trees_cell`');
while ($row = mysql_fetch_assoc($result)){
if(time() > $row['time'] and $row['count']=='0'){
$r = rand(50,200);
mysql_query("UPDATE `trees_cell` SET `count`=".$r." WHERE `id`=".$row['id']." AND count='0'");
}
}

поле id - первичный столбик
 
ну правильно. ты каждую итерацию делаешь апдейт всех значений, у кого count='0' и на последнем цикле он перезаписывает все последним сгенеренным значением
PHP:
$result=mysql_query('SELECT `id`,`time`,`count`,`difficult` FROM `trees_cell`');
while ($row = mysql_fetch_assoc($result)){
if(time() > $row['time'] and $row['count']=='0'){
$r = rand(50,200);
mysql_query("UPDATE `trees_cell` SET `count`=".$r." WHERE `id`=$row['id'] AND count='0'");
}
}
Я тоже так подумал, но он знание count должно быть рандромно для всех count = 0, А он мне ставить первое число из Ранда.
 
Я тоже так подумал, но он знание count должно быть рандромно для всех count = 0, А он мне ставить первое число из Ранда.
так ты попробуй мой вариант кода. все должно заработать
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху