У меня есть форма со следующими выбранными входами:
В первом файле:
<select class="form-control" name="city" id="city">
<option value="">--</option>
<option value="breda">Breda</option>
</select>
<select class="form-control" name="interior" id="interior">
<option value="">--</option>
<option value="gestoffeerd">Gestoffeerd</option>
</select>
Во втором файле я получаю эти данные
$search_city = $_POST['city'];
$search_interior = $_POST['interior'];
У меня также есть переменная: $ result это массив, который я извлек из API. В этом массиве несколько домов. Каждый дом имеет свои технические характеристики как города, так и интерьера.
Я хочу, чтобы все дома основывались на том, что я выбрал в форме выбора.
Когда я, например, выбрал город, но не интерьер, я получу все дома из этого города.
Когда я, например, выбрал интерьер, но не город, я получу все дома с этим интерьером из всех городов.
Когда я, например, ничего не выбрал, я получу все дома
if(isset($search_city) == $result['city'] && isset($search_interior) == $result['interior']){
// echo all results based on selected values
}
В вашей форме вы можете изменить HTML-код первого параметра раскрывающегося списка на пустой:
<select class="form-control" name="city" id="city">
<option value="">--</option>
<option value="breda">Breda</option>
</select>
<select class="form-control" name="interior" id="interior">
<option value="">--</option>
<option value="gestoffeerd">Gestoffeerd</option>
</select>
Затем в своей логике PHP вы бы проверили, пусто ли оно:
if ( !empty( ucfirst($_POST['city'] ) ){
$city = ucfirst($_POST['city'];
}
if ( !empty( ucfirst($_POST['interior'] ) ){
$city = ucfirst($_POST['interior'];
}
Других решений пока нет …