ДоХтор, правильно, я получаю общее количество строк, но я эту цифру уже не могу использовать для цикла, как раньше. Она стала бесполезной. Ведь id у строк не идут сейчас по порядку, некоторые строки удалены безвозвратно, а id остались те, что назначались строкам при их создании. Собственно вопрос, как теперь создать цикл для операции со всеми строками, к чему цепляться?
Может можно как-то создать временное поле и пронумеровать его по порядку?
Добавлено: 11.04.2018 / 10:31
Вот как это работало раньше
$a = mysql_query("SELECT COUNT(*) FROM `user`");
$b = mysql_fetch_array($a); // $b[0] количество пользователей
for($x=1; $x<=$b[0]; $x++){ // цикл пока пройдёмся по всем пользователям
$query = "SELECT `user_bonus` FROM `user` WHERE `user_id`='$x'";
$res = mysql_query($query);
$row = mysql_fetch_row($res);
$bal = $row[0];
$result = $bal * $bonus;
mysql_query("UPDATE `user` SET `user_bonus`='$result' WHERE `user_id`='$x'");
}В цикле WHERE `user_id`='$x'" увеличивалось на единицу и цикл работал до конца, пока не закончатся все пользователи. Но сейчас user_id уже не по порядку и как заставить пройтись скрипт по всем строкам выполняя математическую операцию? Нет одинаковых полей, нет нумерации строк по порядку.
Добавлено: 11.04.2018 / 10:36
Может как-то можно существующие id собрать в массив, а потом создать цикл по значениям этого массива? Не могу сообразить что с этим делать
Добавлено: 11.04.2018 / 10:56
Может как-то здесь можно сделать типа WHERE `user_id` > '$x' , где $x будет будет браться больше предыдущего? Но тогда не могу понять, как это загнать в цикл и чтобы значения шли по порядку расположения строк, и ничего не перепуталось.