SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 27.08.2013 02:03:17

soctell
Участник
Зарегистрирован: 27.08.2013
Сообщений: 6

Поиск по нескольким полям

Подскажите, хочу реализовать запрос поиска по нескольким полям написал пока это
$result = mysql_query("SELECT * FROM re_user WHERE  user_id='$user_id' or fio like '%$fio%' or email like '%$email%')",$db);

либо такое же только вместо OR писал AND
Этот запрос не подходит для меня т.к. иногда поиск происходит по нескольким полям или по одному
Опишите пожалуйста максимально подробно, т.к новичок в этом деле

Неактивен

 

#2 27.08.2013 04:21:15

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Поиск по нескольким полям

Если я правильно понял вашу мысль, то использовать AND и формировать в скрипте нужный запрос в зависимости от того по каким полям ищут.

Неактивен

 

#3 27.08.2013 10:53:34

soctell
Участник
Зарегистрирован: 27.08.2013
Сообщений: 6

Re: Поиск по нескольким полям

Я так понимаю лучше для меня запрос с OR, а именно нужно чтобы поиск происходил при заполнении одного, нескольких или всех полей. Но запрос
$result = mysql_query("SELECT * FROM re_user WHERE  user_id='$user_id' or fio like '%$fio%' or email like '%$email%')",$db); уже решает проблему при вводе всех полей.
Так что остается проблема при вводе одного или нескольких полей, т.е. если не вводится переменная то нужно ее уничтожить, чтобы не получить результат вывода по всей базе

Неактивен

 

#4 27.08.2013 13:37:59

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Поиск по нескольким полям

vasya написал:

формировать в скрипте нужный запрос в зависимости от того по каким полям ищут.

Неактивен

 

#5 27.08.2013 14:48:33

soctell
Участник
Зарегистрирован: 27.08.2013
Сообщений: 6

Re: Поиск по нескольким полям

А подробнее,если можно?

Неактивен

 

#6 27.08.2013 15:25:46

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Поиск по нескольким полям

В php скрипте проверяете какие поля ввел пользователь и соответствующим образом формируете запрос
$where =

$sql = "SELECT * FROM re_user ".$where;

$result = mysql_query($sql,$db);

Неактивен

 

#7 27.08.2013 15:31:46

soctell
Участник
Зарегистрирован: 27.08.2013
Сообщений: 6

Re: Поиск по нескольким полям

А еще подробнее, я новичок

Неактивен

 

#8 27.08.2013 16:06:33

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Поиск по нескольким полям

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson