Автор Тема: Поиск в базе MySQL по нескольким ключам.  (Прочитано 3750 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Yarik_A

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 1
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Такая ситуация:
в таблице 10 полей (допустим поле1, поле2 и т.д.). Нужно реализовать поиск по нескольким полям (допустим поле3, поле4, поле5 и поле6). Пользователь может искать по нескольким или по одному полю.
Запросы типа:
1) SELECT * FROM таблица WHERE поле3 = $поле3 OR поле4=$поле4 OR поле5=$поле5 OR поле6=$поле6

2) SELECT * FROM таблица WHERE поле3 = $поле3 AND поле4=$поле4 AND поле5=$поле5 AND поле6=$поле6

не подходят так как в первом случае выводятся все строки в которых встречается ЛЮБОЕ из условий запроса, а во втором случае необходимо заполнение всех полей.
На сколько я понял необходимо сначала узнать какие из полей для поиска заполнил пользователь и уже затем с помощью оператора AND составлять запрос. Вот только как определить какие из полей заполнил пользователь а какие нет я так и не могу.
Может есть еще какие то алгаритмы решения данной задачи.
Подскажите пожалуйста.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Поиск в базе MySQL по нескольким ключам.
« Ответ #1 : 16 Февраля 2005, 18:09:33 »
Цитировать
Yarik_A:
Вот только как определить какие из полей заполнил пользователь а какие нет я так и не могу.
определяется по именам полей ХТМЛ-формы (вобщем-то к базам данных это не имеет отношения)
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28