SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 25.12.2008 12:01:57

mb
Завсегдатай
Зарегистрирован: 16.10.2008
Сообщений: 36

в Select указать поля поиска в зависимости от их значений

есть запрос
"SELECT * FROM doki WHERE spisok_vid like '$vid' and Num like '$num'";
мне нужно - если в переменной $vid значение, предположим, "не знаю", оставить только такой запрос
"SELECT * FROM doki WHERE Num like '$num'";
а если такое значение в переменной  $num, то запрос должен быть такой
"SELECT * FROM doki WHERE spisok_vid like '$vid';
помогите, пожалуйста!

Неактивен

 

#2 25.12.2008 13:49:43

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: в Select указать поля поиска в зависимости от их значений

Полагаю, что это PHP. Тогда как-то так:

$params = array();
if ($vid) array_push($params, "spisok_vid like '$vid'");
if ($num) array_push($params, "num like '$num'");
$where = join (" AND ", $params);
if ($where) $where = "WHERE $where";
mysql_query ("SELECT * FROM doki $where")

Неактивен

 

#3 25.12.2008 14:35:20

mb
Завсегдатай
Зарегистрирован: 16.10.2008
Сообщений: 36

Re: в Select указать поля поиска в зависимости от их значений

как это красиво - неужели будет работать !!!

Неактивен

 

#4 25.12.2008 15:16:47

mb
Завсегдатай
Зарегистрирован: 16.10.2008
Сообщений: 36

Re: в Select указать поля поиска в зависимости от их значений

спасибо, Paulus! It works!!!

Отредактированно mb (25.12.2008 15:49:32)

Неактивен

 

Board footer

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