[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: SQL запрос
Zzepish
Вот смотрите, есть база:
id|drug_name|group_id|drug|discr|

Смысл базы- лекарства.

group_id|group_name -группа препаратов

Так вот, в админке будет выпадающий список с названием преперата.

Реально ли одним запросом при занесении в базу нового препарата подставить в group_id (который в лекарствах), значение, которое в group_id в группах, в зависимости от выбранного в списке?



Спустя 1 час, 23 минуты, 22 секунды (7.09.2012 - 20:25) Rand написал(а):
В чем проблема? В списке каждый элемент содержит значение:
<select name="group_id">
<option
value="1">Антимикробные</option>
<option
value="2">Гомеопатические</option>
</select>

1 и 2 - group_id, выбранное значение передается в $_POST['group_id'], пишешь его в таблицу вместе с другими данными формы и всё. Или я не так понял?

Спустя 12 минут, 5 секунд (7.09.2012 - 20:37) Zzepish написал(а):
Rand
так его можно будет поменять через изменение HTML. Соответственно- не надежно!

Спустя 12 минут, 59 секунд (7.09.2012 - 20:50) Rand написал(а):
Какое изменение HTML? В браузере что-ли? Ты как вообще группу выбираешь для лекарства при добавлении нового? Либо я не понимаю, либо ты херню поришь. Объясни что хочешь подробнее.

Все данные от клиента фильтруются на стороне сервера и перед тем, как запихать $_POST['group_id'] в запрос, его надо привести к int.

Спустя 3 часа, 41 минута, 51 секунда (8.09.2012 - 00:32) inpost написал(а):
Zzepish
В селекте прописал 1,2,3.
В скрипте написал, if($var >= 1 && $var <= 3) {true} else {ошибка}
Вот и фильтрация на входе.
Данные хранишь в массиве, а сравнить с массивом вообще просто: in_array();

Спустя 11 минут, 43 секунды (8.09.2012 - 00:43) Zzepish написал(а):
inpost
в том то все и дело! С массивом идею отбросил сразу!
Просто если в базе будет добавляться\удалятся группа, придется и менять ее в массиве- не удобно!
Я хочу- просто в базу занес, или удалил- и сразу проверка на это значение включительно идет!
Видимо, придется делать два запроса.
И, да, пока я пьяный- сори за мои выкидоны! Ибо когда я стану трезвый- из принципа не буду извеятся (хотя тут ты тоже был не всегда прав, если ты помнишь о чем я)

Спустя 12 часов, 57 минут (8.09.2012 - 13:40) inpost написал(а):
Zzepish
В чём дело, запрос в БД и формируешь массив. С этим массивом и сравниваешь.

Спустя 2 часа, 13 минут, 54 секунды (8.09.2012 - 15:54) Zzepish написал(а):
inpost
ага. логично! спс. Но все-равно придется делать 2 запроса.
Ибо 1-й заносит данные в массив, а 2-й уже INSERT

Спустя 1 час, 2 минуты, 51 секунда (8.09.2012 - 16:57) inpost написал(а):
Zzepish
Ничего страшного, так и надо делать. Более крутое программирование - это кеширование первого запроса и обновление кеша (массива) только тогда, когда происходят изменения с группами.

Спустя 3 часа, 14 минут, 24 секунды (8.09.2012 - 20:12) Zzepish написал(а):
inpost
смотри, а если по первому заросу просто сделать проверку на количество строк! Соответственно, если строк больше 0, то можно и записать. И не надо будет в массив вносить

Спустя 2 часа, 52 минуты, 50 секунд (8.09.2012 - 23:04) inpost написал(а):
Zzepish
Это всё вопросы оптимизации.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.