Выборка с неопределенным значением

TheStriker

Новичок
Выборка с неопределенным значением

Доброго времени суток!

Возник вопрос по MySQL такого плана:

Возможно ли указать параметру при выборке значение "ЛЮБОЕ"??

К примеру - "SELECT * FROM `table` WHERE `name`='name' AND `surname`='<<ANY>>' AND `age`='<<ANY>>'";

Вопрос в том, что если не указать параметры фамилия и возраст - то ДА, суть та же вроде бы...Но требуется именно комплексный запрос. Просто если параметры не пришли - то как сказать MySQL, что фамилия и возраст - ЛЮБЫЕ??

Надеюсь изъяснился ясно.....

Заранее спасибо за любые наводки!

С Уважением, Сергей
 

Фанат

oncle terrible
Команда форума
можно, но лучше составлять запрос в пхп, добавляя в него только те поля, которые нужны
 

TheStriker

Новичок
Автор оригинала: *****
можно, но лучше составлять запрос в пхп, добавляя в него только те поля, которые нужны
Нужны все 3 параметра, но не факт, что все 3 из них прийдут.... Просто там в реальности не 3 параметра, а 7 - и проверять каждый из них и в какой комбинации они пришли - будет несметное кол-во вариантов....
 

Фанат

oncle terrible
Команда форума
комбинации проверять не нужно
достаточно проверить 7 вариантов. не так много
 

dimagolov

Новичок
проверять каждый из них и в какой комбинации они пришли - будет несметное кол-во вариантов....
а почему нельзя их обрабатывать последовательно, и добавлять условие к запросу для тех, что пришли?
PHP:
$paramFields= array ('name' =>'`name`', 'surname' => '`surname`',...);
$conditions= array ();
foreach ($paramFields as $param => $field)
   if (isset($_POST[$param]) $conditions[]= $field." = '".mysql_real_escape_string($_POST[$param])."'";
if ($conditions) {
   $SQL= "SELECT * FROM `table` WHERE ".implode(' AND ', $conditions);
   ...
} else
   echo "No conditions given";
 

TheStriker

Новичок
Автор оригинала: dimagolov
а почему нельзя их обрабатывать последовательно, и добавлять условие к запросу для тех, что пришли?
Понял. Согласен! Спасибо БОЛЬШОЕ! :)

З.Ы. Все, как всегда, оказалось проще, чем я себе надумал....)))
 

Фанат

oncle terrible
Команда форума
вот я, кстати, не уважаю массивы.
потом в них придется добавлять не только совпадение, а другие варианты сравнения, функции, еще что-нибудь.
в итоге вызов такого обработчика займет больше места, чем тупо написать семь условий одно под другим
 

dimagolov

Новичок
*****, ты прав, но так показать ТС-у принцип построения запроса ИМХО более наглядно, у него проблема была в том, что он не мог себе представить, что запрос можно собирать из отдельных частей.

-~{}~ 05.06.10 09:33:

TheStriker, обнови PHP, да и Ubuntu тоже :)
 
Сверху