Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
выборка (phantom2009) 12/04/2009 - 19:46:46
      Re: выборка (Student) 12/04/2009 - 23:49:45
      Re: выборка (Student) 12/04/2009 - 23:58:02
      Re: выборка (Diter) 13/04/2009 - 05:46:01
      Re: выборка (phantom2009) 13/04/2009 - 10:57:36

> Original message text:
> From: phantom2009 - 12/04/2009 - 19:46:46
> Subject:выборка
> -----------------
> Вопрос такой: Мне необходимо сделать запрос SELECT a,b,c FROM $userstable WHERE (a = '$a') and (b = '$b') and (c = '$c'), где эти 3 переменные выбирает пользователь, они могут иметь определенное значение(1,2,3), а могут быть выбраны (--не важно--). Каким символом в последнем случае выбрать из столбца все значения и есть ли такой способ?
>


From: Diter - 13/04/2009 - 05:46:01
Subject:выборка
-----------------
Во-первых, если пользователь выбрал значение для слолбца 'a' и/или 'b', то "все значения из столбца с" выбрать нельзя, поскольку уже стоит фильтр для 'a' и/или 'b'.

Во-вторых, исходя из приведенного примера, для выбора "--не важно--" я бы добавил значение, которое не присутствует в таблице. Например, 0. И тогда при формировании запроса на php проверял бы, нужен ли фильтр по столбцу или нет:

$sql = "SELECT a,b,c FROM $userstable WHERE 1";
if (!empty($a)) $sql .= " AND a = ".(int)$a;
if (!empty($b)) $sql .= " AND b = ".(int)$b;
if (!empty($c)) $sql .= " AND c = ".(int)$c;



[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
35364



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |