Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Запрос с несколькими значениями
Форумы портала PHP.SU » » Работа с СУБД » Запрос с несколькими значениями

Страниц (1): [1]
 

1. tomas - 29 Ноября, 2011 - 11:37:01 - перейти к сообщению
Здраствуйте!

Скажу сразу поиском пользовался но не нашел (или не понял то что мне надо)

Ситуация следующая. Создал форму с чекбоксами 6 значений, и скрипт поиска на PHP с запросом к Базе, и выводом результатов.
В базе есть таблица c полями где в одном из полей - 6 значений из формы. если выбираю одну то выводит значение то которое я выбрал, но вот я начинающий в SQL запросах и не знаю как сделать так, чтобы выбрав все 6 чекбоксов вывело мне соответственно все 6 значений. Тоесть как составить запрос с несколькими значениями (переменными в моем случае)?
Или может ссылку дайте на хорошую литературу.


Для одного значения так у меня работает $querry = (SELECT * FROM table WHERE check = '$var1'); $var1 = переменная содржащая результат 1 го чекбокса.
2. EuGen - 29 Ноября, 2011 - 11:48:33 - перейти к сообщению
SELECT * FROM `table` WHERE `check` IN ('$var1', '$var2', {...}, '$varN')
3. tomas - 29 Ноября, 2011 - 12:12:09 - перейти к сообщению
Спасибо, хотел бы на остаток спросить о хорошой литературе, по поводу SQL что бы вы предложили прочесть?
4. Panoptik - 29 Ноября, 2011 - 12:19:03 - перейти к сообщению
я sql изучал по этому: http://www[dot]interface[dot]ru/home[dot]asp?artId=10280
5. tomas - 29 Ноября, 2011 - 12:20:27 - перейти к сообщению
Спасибо за помощь, очень благодарен...
6. EuGen - 29 Ноября, 2011 - 12:22:02 - перейти к сообщению
Стандарт ANSI SQL неплохо бы знать - можете почитать здесь:
http://www[dot]w3schools[dot]com/sql/sql_syntax[dot]asp

Если интересны особенности SQL в MySQL - то официальную документацию:

http://dev[dot]mysql[dot]com/doc/refman/[dot][dot][dot]/sql-syntax[dot]html

- русскоязычная документация здесь: http://www[dot]mysql[dot]ru/docs/ - для начала подойдет Грабер http://www[dot]mysql[dot]ru/docs/gruber/

об отличиях MySQL-реализации от ANSI или других стандартов - здесь:

http://www[dot]mysql[dot]ru/docs/man/Compatibility[dot]html
7. exedmxexe - 25 Января, 2012 - 11:05:05 - перейти к сообщению
у меня вопрос по той же теме =) у меня форма поиска сделана через селект с кнопкой натйти, тоесть выбираю любые значения и жму найти. Но если одно из значений не выбрано, то запрос не срабатывает. Как написать запрос чтобы он выводил данные даже если не указан 1 или 2 из 3 значений.
8. Zuldek - 25 Января, 2012 - 11:42:38 - перейти к сообщению
exedmxexe пишет:
у меня вопрос по той же теме =) у меня форма поиска сделана через селект с кнопкой натйти, тоесть выбираю любые значения и жму найти. Но если одно из значений не выбрано, то запрос не срабатывает. Как написать запрос чтобы он выводил данные даже если не указан 1 или 2 из 3 значений.


в хтмл есть такое понятие как значение select поумолчанию. Его и используйте. Написать поиск без условий поиска очень просто - SELECT * FROM table_name. Если все-таки одно из условий поиска будет указано, то все элементарно - собирайте данные из селекта в массив, если массив пустой то поиск не производить если есть элементы в массиве - то добавляйте их все запрос извлечения данных, разделяя AND, OR
9. exedmxexe - 25 Января, 2012 - 11:48:18 - перейти к сообщению
Я так понял вот так?
CODE (SQL):
скопировать код в буфер обмена
  1. (SELECT * FROM server WHERE moderation = '1' AND rate = '$rate2' AND chronicle = '$chronicle2' AND platform = '$platform2')
?

Но в таком случае если я оставлю 2 поля пустым а в rate выберу значение, то он выведет не все поля с rate например равное 7. Так как в chronicle и platform по умолчанию будут стоять не совпадающие со строкой значения.

 

Powered by ExBB FM 1.0 RC1