Показать сообщение отдельно
Старый 22.09.2011, 13:19   #10
cyberblut
Знающий
 
Регистрация: 14.06.2009
Сообщений: 338
Написано 139 полезных сообщений
(для 257 пользователей)
Ответ: Определить количество записей, вставить запись!!!???

INSERT INTO `YOUR_TABLE` (field1field2
SELECT 'value1''value2' 
  
FROM DUAL 
  WHERE 
(SELECT COUNT(id) as cnt FROM `YOUR_TABLEWHERE date 'SELECTED_DATE') < 9
- DUAL - виртуальная таблица, используется, если не нужно делать выборку из реальной
- value1 и value2 нужно передать напрямую из скрипта
- date - поле в которое записывается дата прихода на приём, нужно проверять в формате yyyy-mm-dd (т.е. без времени, просто день)
---
Я бы делал по следующему алгоритму:
- ввёл бы дополнительное поле request_id и сделал бы уникальным индексом
- перед запросом бы генерил уникальный ключ: $key = md5(rand(0, 999) . microtime() . date('yyyymmddHHiiss') . $personName);
- писал бы ключ внутри запроса в базу
- после проверял бы селектом, есть такой ключ в базе или нет
- если есть - запись прошла успешно

Нужно конечно ещё ловить ошибку на уникальность при инсерте и перегенеривать тогда ключ. Но я крайне сомневаюсь в возможности появления такой ситуации
(Offline)
 
Ответить с цитированием