Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
DennisRU777
11 / 11 / 1
Регистрация: 04.03.2013
Сообщений: 62
1

Параметры в запросе

26.06.2013, 09:04. Просмотров 553. Ответов 5
Метки нет (Все метки)

Подскажите, пожалуйста, красивое решение проблемы.
Есть допустим функция
PHP
1
2
3
4
function find($parametr1,$parametr2){
   $sql = "SELECT a, b, c FROM MyTable
             WHERE a=$parametr and b=$parametr2"
}
Как грамотно составить запрос, так чтобы искались все строки в случае если параметр не задан.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2013, 09:04
Ответы с готовыми решениями:

Параметры в динамическом запросе
Читаю Архангельского: "Теперь обратимся к компоненту Query. Если Вы введёте в его свойство SQL...

Неизвестные параметры в GET запросе
Здравствуйте. Подскажите решение такой проблемы: Я пишу библиотеку, которая обращалась бы к...

Параметры в SQL запросе
вот такой вот запрос SELECT Remont.Id_tt, Remont.D_priem, Tovar.Id_t, Tovar.Name_t FROM...

Параметры в запросе - программно
Из темы понятно, что за сложность у меня возникла. Нужно мне, чтобы параметры в запросе задавались...

Динамические параметры в Ajax запросе
имеется комбобокс <select name="ComboBox" style="width : 300px"> <option...

5
fanatikus
1163 / 1131 / 535
Регистрация: 17.11.2012
Сообщений: 5,036
26.06.2013, 15:34 2
PHP
1
2
3
4
function find($parametr1 = null,$parametr2 = null){
   $sql =$parametr1 != null && $parametr2 != null ?"SELECT a, b, c FROM MyTable
             WHERE a=$parametr1 and b=$parametr2":"SELECT a, b, c FROM MyTable";
}
1
DennisRU777
11 / 11 / 1
Регистрация: 04.03.2013
Сообщений: 62
27.06.2013, 08:11  [ТС] 3
@fanatikus, спасибо. Вопрос еще в том что делать если один будет задан, а второй нет?
0
fanatikus
1163 / 1131 / 535
Регистрация: 17.11.2012
Сообщений: 5,036
27.06.2013, 11:58 4
как-то так
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function find($parametr1 = null,$parametr2 = null){
    if($parametr1 != null && $parametr2 != null){
        $sgl = "SELECT a, b, c FROM MyTable
               WHERE a=$parametr1 and b=$parametr2";
        }
    if($parametr1 == null && $parametr2 == null){
        $sql ="SELECT a, b, c FROM MyTable";
        }
    if($parametr1 != null && $parametr2 == null){
        $sgl = "SELECT a, b, c FROM MyTable
               WHERE a=$parametr1";
        }
    if($parametr1 == null && $parametr2 != null){
        $sgl = "SELECT a, b, c FROM MyTable
               WHERE b=$parametr2";
        }
}
0
Nikolas333
8 / 8 / 0
Регистрация: 19.06.2013
Сообщений: 24
27.06.2013, 12:29 5
Цитата Сообщение от DennisRU777 Посмотреть сообщение
Подскажите, пожалуйста, красивое решение проблемы.
Есть допустим функция
PHP
1
2
3
4
function find($parametr1,$parametr2){
   $sql = "SELECT a, b, c FROM MyTable
             WHERE a=$parametr and b=$parametr2"
}
Как грамотно составить запрос, так чтобы искались все строки в случае если параметр не задан.
PHP
1
2
3
4
5
6
7
8
9
10
function find($parametr1 = null,$parametr2 = null){ 
    $sql =  "SELECT a, b, c FROM MyTable WHERE 1=1 ";
    if($parametr1 != null) {
        $sql .= "AND a='{$parametr1}' ";
    }
    
    if($parametr2 != null) {
        $sql .= "AND b='{$parametr2}' ";
    }
}
1
DennisRU777
11 / 11 / 1
Регистрация: 04.03.2013
Сообщений: 62
28.06.2013, 12:34  [ТС] 6
То, что нужно
0
28.06.2013, 12:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.06.2013, 12:34

Параметры при SQL запросе
Всем привет. Вопрос в следующем параметры при запросе к БД могу задать например так 1) string...

В запросе несколько раз спрашивает параметры
Сделала запрос по дате PARAMETERS DateTime, DateTime; TRANSFORM Count(.Код) AS SELECT...

Как в httpwebrequest отправить параметры в запросе?
вопрос в шапке, мне желательно надо эти параметры передавать из другого метода.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru