Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Упростить запрос 
:(
    Опции темы
BASILIO
Дата 3.4.2008, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Koté-CAH
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 25.2.2008

Репутация: нет
Всего: нет



Можно как-нибудь увеличить/уменьшить счётчик одним sql-запросом?

Код

$newadv = mq_rpole("SELECT adv FROM tbl_account_standing WHERE id='".$uid."'")-1;
mqq("UPDATE tbl_account_standing SET adv='".$newadv."' WHERE id='".$uid."'");


Зарание Спасибо
PM   Вверх
timon1410
Дата 3.4.2008, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 31.3.2008

Репутация: нет
Всего: нет



mqq("UPDATE tbl_account_standing SET adv=adv+1 WHERE id='".$uid."'");
PM MAIL WWW   Вверх
BASILIO
Дата 4.4.2008, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Koté-CAH
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 25.2.2008

Репутация: нет
Всего: нет



Тоже самое, но немного другой запрос:

Код

$newactn = mq_rpole("SELECT MAX(actn) FROM tbl_history_data WHERE id='".$uid."'")+1;
mqq("INSERT INTO tbl_history_data VALUES (".$uid.",".$newactn.",'addadv','".time()."','','".$_SERVER['REMOTE_ADDR']."')");

PM   Вверх
Sannis
Дата 4.4.2008, 02:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 14.8.2007
Где: Москва

Репутация: 1
Всего: 13



Не знаю что такое mq_rpole и mqq, но в MySQL можно поставить auto increment на это поле и не заморачиваться с ручным увеличением.


--------------------
Я Критик Джим, раньше писал моды для IPB 1.3.x-2.3.x, а теперь продвигаю Node.js в массы.
PM MAIL WWW   Вверх
BASILIO
Дата 4.4.2008, 03:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Koté-CAH
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 25.2.2008

Репутация: нет
Всего: нет



mq_rpole - выдаёт требуемую ячейку
mqq - просто посылает запрос

есть колонка "actn" типа INT с каждой записью она должна увеличиваться на один, НО только у определёного "id", короче "actn", могут повторятся, но не могут одновременно повторятся "аctn" & "id"... кхм, вроде бы обяснил...
PM   Вверх
Sannis
Дата 4.4.2008, 07:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 14.8.2007
Где: Москва

Репутация: 1
Всего: 13



Цитата(BASILIO @  4.4.2008,  03:16 Найти цитируемый пост)
есть колонка "actn" типа INT с каждой записью она должна увеличиваться на один, НО только у определёного "id", короче "actn", могут повторятся, но не могут одновременно повторятся "аctn" & "id"... кхм, вроде бы обяснил...

Вот именно поэтому хорошо бы ещё писать структуру таблицы(каким запросом создаётся), особенно если в INSERT пишите только значемия ;)

Если нет принципиального желания, чтобы actn начинались с единицы, тогда зачем вообще эта колонка, можно же и без неё? Т.е. посмотреть, что чаще добавляется, новые id или новые actn, соответственно то что чаще - на автоинкремент, вторую колонку увеличивать вручную. А в идеале посмотреть на эту таблицу и нормализовать, тогда всё само сабой устаканится...


--------------------
Я Критик Джим, раньше писал моды для IPB 1.3.x-2.3.x, а теперь продвигаю Node.js в массы.
PM MAIL WWW   Вверх
BASILIO
Дата 4.4.2008, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Koté-CAH
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 25.2.2008

Репутация: нет
Всего: нет



Код

CREATE TABLE tbl_history_data (id INTEGER,actn INTEGER,action CHAR(250),actatdt INTEGER,actcom VARCHAR(5000),fip CHAR(100))


Таблица для наблюдений за действиями, у каждого действия новый номмер, но тот же юзер, потому номера сами по себе могут совпадать, но у одного юзера не может повторятся один и тот же номмер
PM   Вверх
skyboy
Дата 5.4.2008, 00:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 14
Всего: 260



Цитата(BASILIO @  4.4.2008,  17:54 Найти цитируемый пост)
потому номера сами по себе могут совпадать, но у одного юзера не может повторятся один и тот же номмер 

зачем? чтоб можно было проследить последовательность действий для каждого пользователя?
так ведь даже если id - AUTO_INCREMENT, то запрос 
Код

SELECCT `user`,`id`
FROM `table`
ORDER BY `user`,`id`

все равно возвратит действия для каждого `user` в порядке добавления(т.е. по возрастанию id)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0625 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.