Ваша реклама могла б бути тут!
1 млн переглядів на місяць!
Google Page Rank: 5

Вопрос по mysql

🔴 02:53 Повітряна тривога в Харків.обл.
Статус: Offline
Реєстрація: 04.07.2008
Повідом.: 675
  • 🔴 02:53 Повітряна тривога в Харків.обл.
  • #1
Вопрос по mysql

Есть запрос:
Select * from `mybase` where id='$id' and name=$name;
Но если у меня переменная $id будет пуста, как можно сделать чтобы тогда выбирало все данные где есть $name?А если $id будет заполнено тогда чтобы выполнялся полный запрос с выборкой того и того?
:)
 
  • 🔴 02:53 Повітряна тривога в Харків.обл.
  • #2
Но если у меня переменная $id будет пуста, как можно сделать чтобы тогда выбирало все данные где есть $name?А если $id будет заполнено тогда чтобы выполнялся полный запрос с выборкой того и того?
:)

посылать разные запросы.
 
  • 🔴 02:53 Повітряна тривога в Харків.обл.
  • #3
Есть запрос:
Select * from `mybase` where id='$id' and name=$name;
Но если у меня переменная $id будет пуста, как можно сделать чтобы тогда выбирало все данные где есть $name?А если $id будет заполнено тогда чтобы выполнялся полный запрос с выборкой того и того?
:)

Код:
$sql = 'select * from mybase where '.(!empty(id) ? 'id='.mysql_real_escape_string($id).' and ' : ' ').'name='.mysql_real_escape_string($name);

Как-то так.
 
  • 🔴 02:53 Повітряна тривога в Харків.обл.
  • #4
почему вы решили, что это вопрос по mysql? что не позволяет проверить $id до выполнения запроса, а потом уже решить, в каком виде и какой запрос выполнять?

блин, уже успели отписать..
 
  • 🔴 02:53 Повітряна тривога в Харків.обл.
  • #5
Ну а если там будет куча таких запросов, мне что везде писать if или тернарный оператор???А с помощью мускула можно как то?Например вместо $id поставить звездочку )))))

Вообще это форма поиска, по одному либо по нескольким либо по всем параметрам...

Вообще это форма поиска, по одному либо по нескольким либо по всем параметрам...
 
Останнє редагування:
  • 🔴 02:53 Повітряна тривога в Харків.обл.
  • #6
даже если бы было можно поставить звездочку, вам нужно было бы сначала определить, нужно её ставить или нет.

можете составить строку запроса из отдельных фильтров по числу ваших полей для поиска. если соответствующая переменная не инициализирована - фильтр по этому полю не включаете. потом объедините эти фильтры через ' AND ' и возможно наступит щастье

БД хорошо работает с данными и пусть работает, не заставляйте её думать о том, что у вас там не так срослось в пхп-коде, что какие-то переменные оказались не инициализированными
 
  • 🔴 02:53 Повітряна тривога в Харків.обл.
  • #7
Ну а если там будет куча таких запросов, мне что везде писать if или тернарный оператор???

запихните его в функцию и не трахайте мозги.
мне бы ваши проблемы.

Код:
$select = $this->select();
foreach ($filters as $name => $val) {
    $select->where("{$name} = :{$name})";
    $select->bind($name, $val);
}
 
Останнє редагування:
  • 🔴 02:53 Повітряна тривога в Харків.обл.
  • #8
даже если бы было можно поставить звездочку, вам нужно было бы сначала определить, нужно её ставить или нет.

можете составить строку запроса из отдельных фильтров по числу ваших полей для поиска. если соответствующая переменная не инициализирована - фильтр по этому полю не включаете. потом объедините эти фильтры через ' AND ' и возможно наступит щастье

БД хорошо работает с данными и пусть работает, не заставляйте её думать о том, что у вас там не так срослось в пхп-коде, что какие-то переменные оказались не инициализированными

Про отдельные фильтры я не подумал.
Спасибо так все работает !:клас::yahoo:

запихните его в функцию и не трахайте мозги.
мне бы ваши проблемы.

Код:
$select = $this->select();
foreach ($filters as $name => $val) {
    $select->where("{$name} = :{$name})";
    $select->bind($name, $val);
}

Там много полей, и значения уже приходят в массиве в соответствующий класс

А кто то работал с Google maps??
 
  • 🔴 02:53 Повітряна тривога в Харків.обл.
  • #9
del
 
Останнє редагування:
  • 🔴 02:53 Повітряна тривога в Харків.обл.
  • #11
есть такая функция join aka implode…
 
  • 🔴 02:53 Повітряна тривога в Харків.обл.
  • #12
также в mysql есть хранимые процедуры sp
 
Назад
Зверху Знизу