Различные вопросы по PHP и MySQL

101K
.
Sitego, я обновил свой пост - бери пример с переменной в запросе.
.
Enter нажат, к чему теперь рыданья…
Тут немного не понял, как выполнить такое
UPDATE `user` SET `user_bonus` = `user_bonus` * число;
.
# Sitego (11.04.2018 / 11:07)
Тут немного не понял, как выполнить такое
UPDATE `user` SET `user_bonus` = `user_bonus` * число;
mysql_query("UPDATE `user` SET `user_bonus` = `user_bonus` * '$bonus'");
Или без одинарных кавычек (если в базе хранится число а не строка):
mysql_query("UPDATE `user` SET `user_bonus` = `user_bonus` * $bonus");
.
Enter нажат, к чему теперь рыданья…
Добавлено: 11.04.2018 / 11:13
ДоХтор, последним постом ты меня запутал окончательно))
Я тут совсем тогда не понял. Куда эту строку прикрутить. Как будет цикл выполняться, на основе чего, когда ему прекращать работу, куда присваивать какой результат? Ведь user_bonus у всех разный. Это же не то, что всем строкам присвоить одинаковое значение.

Добавлено: 11.04.2018 / 11:17
Фактически ты мне то же самое написал, что у меня и было, убрав вот это WHERE user_id='$x'. Так на основе этого же и присваивался определённый результат конкретному юзеру.
.
# Sitego (11.04.2018 / 11:17)
ДоХтор, последним постом ты меня запутал окончательно))
Я тут совсем тогда не понял. Куда эту строку прикрутить. Как будет цикл выполняться, на основе чего, когда ему прекращать работу, куда присваи
Ну из твоего кода не очевидно, меняется ли значение переменной $bonus.
.
Enter нажат, к чему теперь рыданья…
ДоХтор, всё, сделал одним запросом, как ты в первом посту написал. Номально MySQL выполняет арифметические задачи сама по себе в запросе и без цикла, не знал об этом.
Спасибо за помощь
.
Eternal
# Sitego (11.04.2018 / 11:27)
ДоХтор, всё, сделал одним запросом, как ты в первом посту написал. Номально MySQL выполняет арифметические задачи сама по себе в запросе и без цикла, не знал об этом.
Спасибо за помощь
mysql_query("UPDATE `user` SET `user_bonus` = `user_bonus` * " . $bonus);

или так (так делаю).
.
Eternal
Sitego, Можно сделать цикл чтоб при обновлении не начислялся бонус постоянно...Так как обновляя такую страницу будет обновлятся и цикл.
Добавить в базу
ALTER TABLE `user` ADD `bonus_act` int(11) DEFAULT 0;


А цикл вроде так будет выглядеть

$req = mysql_query("SELECT `id`,`user_bonus` FROM `user` WHERE `bonus_act` = 0");
if(mysql_num_rows($req) > 0){
	While($res = mysql_fetch_assoc($req){
		$user_bonus = $res['user_bonus'] * $bonus;
		mysql_query("UPDATE `user` SET `user_bonus` = $user_bonus, `bonus_act` = 1 WHERE `id` = " . $res['id']);
	}
}
.
Enter нажат, к чему теперь рыданья…
Eternal, спасибо. Скрипт работает сам по крону, там страница не обновляется, пусть себе работает. Только ругается на mysql_query, типа устарело. Но ничего страшного, главное что функционирует)
.
# Sitego (11.04.2018 / 22:49)
Eternal, спасибо. Скрипт работает сам по крону, там страница не обновляется, пусть себе работает. Только ругается на mysql_query, типа устарело. Но ничего страшного, главное что функционирует)
Ну в таком случае да)лишний запрос в таблицу никчему
Всего: 7969