X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> жно ли вставить if в sql-запрос?
happyhand
happyhand
Topic Starter сообщение 18.6.2010, 18:54; Ответить: happyhand
Сообщение #1


Как можно исключить из запроса условие поиска, если переменной нет (или она пуста)? Чтоб по ней не искало?
[php]SELECT * FROM pole WHERE a='$a' AND b='$b' AND c='$c' [/php]
Например $b=""
Как-то так:
[php]
SELECT * FROM pole WHERE a='$a' if (!empty($b)){echo AND b='$b'} AND c='$c'
[/php]
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 18.6.2010, 18:59; Ответить: ZhukV
Сообщение #2


[PHP]
if(empty($b)){
$temp = mysql_query("SELECT * FROM pole WHERE a='$a' AND b='$b' AND c='$c' ");
}else{
$temp = musql_query("SELECT * FROM pole WHERE a='$a' AND c='$c' ");
}
[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
happyhand
happyhand
Topic Starter сообщение 18.6.2010, 19:55; Ответить: happyhand
Сообщение #3


Я так и начал делать, но дело в том, что таких переменных 5 и возможны комбинации. Например есть первая, нет остальных, есть 1-я, 3-я, остальных нет и т.д. Ну раз другого варианта нет, будем просчитывать все варианты.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ottaviano
ottaviano
сообщение 18.6.2010, 20:06; Ответить: ottaviano
Сообщение #4


sergey-g,а если таким запросом? [PHP]SELECT * FROM pole WHERE a='$a' OR b='$b' OR c='$c' [/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
happyhand
happyhand
Topic Starter сообщение 18.6.2010, 20:07; Ответить: happyhand
Сообщение #5


Короче, это нереально, составить столько запросов, уже на 20-м голова пошла кругом..
ottaviano, нет, или не подходит, возможны варианты типа 1 - - 4 5 или - - 3 - - или 1 2 - - 5 ну и т.д.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Witu
Witu
сообщение 18.6.2010, 20:25; Ответить: Witu
Сообщение #6


(ZhukV @ 18.6.2010, 21:59) *
[PHP]
if(empty($b)){
$temp = mysql_query("SELECT * FROM pole WHERE a='$a' AND b='$b' AND c='$c' ");
}else{
$temp = musql_query("SELECT * FROM pole WHERE a='$a' AND c='$c' ");
}
[/PHP]


голова треснет составлять запрос 10+ вариантов

$SQL = "select *";
switch($???)
{
case:
$SQL.= "123124";
break;
case:
$SQL.= "4321";
break;
}

mysql_query($SQL)


http://php.net/manual/en/control-structures.switch.php
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mulder_hb
Mulder_hb
сообщение 18.6.2010, 22:47; Ответить: Mulder_hb
Сообщение #7


Вообще в мускуле есть функции управления потоком выполнения: IF(), IFNULL(), NULLIF(), CASE(). Используйте их, если подходит.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Запрос на бесплатные полезности
7 Tia2 1961 23.3.2024, 11:27
автор: Alexand3r
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыБаза товаров (opencart) SQL 70к+ товаров
Инструменты для дома, строительное и производственное оборудование
5 getdump 5633 1.9.2021, 2:04
автор: WebSniper
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыWeb-разработка (C++/PHP/SQL/JS/Bootstrap). HighLoad проекты.
0 DF™ 1434 28.7.2020, 13:24
автор: DF™
Открытая тема (нет новых ответов) Web программирование на С/С++/PHP/MySQL/SQL, высоконагруженные проекты
Есть наработки в области бирж трафика, топов, тизеров, видео cj-тубов
4 DFService 3351 8.4.2020, 18:02
автор: DFService
Открытая тема (нет новых ответов) Куплю сайты, внутри темы подробный запрос
3 PticaKate 3652 12.11.2019, 16:22
автор: 0pium


 



RSS Текстовая версия Сейчас: 20.4.2024, 9:24
Дизайн