- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть две таблицы, users и data.
В таблицу users занесены данные о пользователе, его пароль емайл и другие поля, но главное поле это rating. Его и пытаюсь обновлять по крону. Первичный ключ user_id.
В таблицу data заносятся все посты пользователей. В ней тоже есть user = user_id, по которому идентифицируется пользователь, и поле post_rating, в котором хранится рейтинг данного поста.
Задача:
Надо сделать апдейт таблицы users колонки rating, суммой данных колонки post_rating с таблицы data. Идентификаторы пользователей одинаковы в обеих таблицах.
Одним запросом? Первое, что приходит на ум - простой цикл по таблице пользователей с запросом на обновление каждого.
что-то вроде в цикле по всем пользователям
UPDATE `users` SET VALUES `rating`=(SELECT SUM(`post_rating`) FROM `data` WHERE `user`='$id') WHERE `user_id`='$id'
orphelin добавил 26.01.2010 в 04:04
опередили немного..
да в цикле... забыл сказать ;)
Сначала выборка всех юзеров, а потом в цикле по каждому...
orphelin, я так и делал, но не обновляет подобный запрос..
Не знаю в чем проблема...
Ошибки при этом нет.
да в цикле... забыл сказать ;)
Сначала выборка всех юзеров, а потом в цикле по каждому...
orphelin, я так и делал, но не обновляет подобный запрос..
Не знаю в чем проблема...
Ошибки при этом нет.
Если нет ошибки, то выводите запрос на экран и если не видите в нем ошибки, то пихаете его в пхпмайадмин и наблюдаете результат.
что-то вроде в цикле по всем пользователям
UPDATE `users` SET VALUES `rating`=(SELECT SUM(`post_rating`) FROM `data` WHERE `user`='$id') WHERE `user_id`='$id'
orphelin добавил 26.01.2010 в 04:04
опередили немного..
В php цикле-то зачем? Все делается 1 запросом типа такого
UPDATE users` SET `rating`=(SELECT SUM(`post_rating`) FROM `data` WHERE users.user_id=data.user_id)
kakoi ujas .. :)
kakoi ujas ..
УГУ... Тем более если всю жизнь занимался химией 😂
Всем спасибо.
UPDATE users` SET `rating`=(SELECT SUM(`post_rating`) FROM `data` WHERE users.user_id=data.user_id)
Спасибо особенное... Именно то, что надо...
УГУ... Тем более если всю жизнь занимался химией
я физик)
бывший физик, несостоявшийся)
bearman добавил 26.01.2010 в 07:08
UPDATE users` SET `rating`=(SELECT SUM(`post_rating`) FROM `data` WHERE users.user_id=data.user_id)
не возникает и тут "foreach" ?
не возникает и тут "foreach" ?
не возникает
orphelin, вы уверены? :)