Форум программистов, компьютерный форум, киберфорум
Наши страницы
MySQL
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
mtttttv
0 / 0 / 0
Регистрация: 05.11.2012
Сообщений: 3
#1

Проверка перед созданием сообщения

24.06.2013, 14:33. Просмотров 562. Ответов 1
Метки нет (Все метки)

Необходимо сделать проверку перед созданием сообщения пользователю на сайте написаном на php.
И при добавлением сделать проверку на возможность создания сообщения:
1. Есть ли пользователь
2. Не находится ли создатель сообщения в игнор листе у получателя
Собственно вопрос - как это лучше сделать, одним запросом
MySQL
1
2
3
4
5
SELECT COUNT(*) ,
(SELECT COUNT(*)
FROM user_ignore_list
WHERE user_id=1 AND ignore_user_id=2) as is_ignore
FROM USER WHERE user_id=1
Либо сделать два отдельных запроса?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2013, 14:33
Ответы с готовыми решениями:

Подскажите с созданием БД.
редложили тут срубить денег в офисе, нужно создать БД и запихнуть её на сервер mysql. Суть этой БД,...

Помогите с созданием базы
НЕобходимо создать базу в которую нужно запихнуть информацию о всех файлах на диске (полный путь ,...

Помогите с созданием таблицы в MySQL
Все это отрабатывает! Но качкадно не удаляет!!! подскажите как лечить? use proba; create table...

Помогите с созданием многоцелевого поиска ...
Всем привет... Умные люди помогите пожалуйста (подскажите где можно доходчиво почитать и...

Трудности с созданием таблицы в базе данных
Здравствуйте. Я только начал изучать MySQL. Мне дали такое задание: Требуется разработать базу...

1
sKotenok
359 / 330 / 39
Регистрация: 29.03.2011
Сообщений: 837
25.06.2013, 10:33 #2
@mtttttv, если нет каких-то других условий, то:
1) Собсна зачем вам отдельная проверка - есть ли получатель, если вы уже выбираете его по id?
2) Вообще, если экономить запросы (сообщения - очень частая вещь) - все проверки можно сделать сразу в INSERT:
MySQL
1
2
3
4
5
INSERT INTO `messages` ( `text`, `sender`, `recipient`,...)
  SELECT ('$text', '$sender', '$recipient', ...) 
  FROM `user` WHERE `user_id`='$recipient' AND
   (SELECT COUNT(*) FROM `user_ignore_list` 
     WHERE `user_id`='$recipient' AND `ignore_user_id`='$sender') = 0
Тут мы проверяем, что пользователь существует, затем, что отправитель им не залочен. Пока оба условия не сработают - ничего не вставится. Мы можем узнать об этом в php, получив число записей:
PHP
1
2
3
4
$query="код запроса выше";
if ( mysql_query($query) ) { //Сообщение отправлено
} else { //Сообщение не отправлено
}
3) Но это - хак. Пока сервер справляется лучше всё разделить по отдельным простым запросам - сопровождать будет проще.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.06.2013, 10:33

Проверка данных в форме перед созданием записи в таблице
Здрасте. Вот пришлось делать базу но так как я в этом ламер и самоучителя по Access 2003 в моё...

Установка поддерживаемого расширения перед созданием установщика
здравствуйте! в общем дело такое - есть проект в Visual Studio, нужно создать установщик в Inno...

Как проверить существование папки перед её созданием?
вообщем я создаю тест, помогите сделать проверку и создание папки, в начале код проверяет или...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru