Возможно, вы захотите написать несколько строк запроса, одну для только страны, одну для штата и страны и одну для города, штата и страны.В качестве альтернативы вы можете собрать строку запроса на основе различных параметров, с которыми вам нужно работать.
Пример:
if(isset() || isset() || isset() ) //make sure at least one is set
{
$query_string = "SELECT * FROM table WHERE ";
if(isset($_REQUEST['country']))
{
$country = $_REQUEST['country'];
$query_string .= " country = $country";
}
if(isset($_REQUEST['state']))
{
$state = $_REQUEST['state'];
$query_string .= " state = $state";
}
if(isset($_REQUEST['city']))
{
$city = $_REQUEST['city'];
$query_string .= " city = $city";
}
}
else
{
//Else, if none are set, just select all the entries if no specifications were made
$query_string = "SELECT * FROM table";
}
//Then run your query...
Итак, на английском языке, первое, что вы делаете, это проверяете ваши параметры, делаяубедитесь, что у вас есть с чем поработать, прежде чем пытаться объединить пустые переменные вместе.Затем вы создаете базовую строку запроса (если у нас есть параметры) и оставляете ее открытой, чтобы мы могли добавлять любые параметры, которые вам нужны.Затем проверьте каждый параметр и, если он задан, объедините этот параметр в конец строки запроса.Наконец обработайте запрос, отправив его на сервер SQL.
Удачи!
h