Есть форма с чекбоксами
Код HTML:
<ul>
<li><input type="checkbox" id="ch2_1" name="foors- " value="1" /><label for="ch2_1">1 этаж</label></li>
<li><input type="checkbox" id="ch2_2" name="foors
" value="2" /><label for="ch2_2">2 этажа</label></li>
<li><input type="checkbox" id="ch2_3" name="foors- " value="3" /><label for="ch2_3">3 этажа</label></li>
<li><input type="checkbox" id="ch2_4" name="foors
" value="4" /><label for="ch2_4">4 и больше</label></li>
</ul>
форма отправляет в функцию массив с параметры для обработке
PHP код:
if (!empty($_GET[‘foors’- )) {
$args[‘meta_query’]
= array(
‘key’ => ‘foors’,
‘value’ => $_GET[‘foors’],
‘type’ => ‘NUMERIC’,
‘compare’ => ‘IN’
);
}
все работает хорошо только мне надо сделать так если выбран 4 чекбокс тогда должно вывести все что больше 4, как можно это реализовать?
задайте проверку, примерно вот так:
[code-
if ($_GET[‘foors’] >= 4 ) {
$args[‘meta_query’]
= array(
‘key’ => ‘foors’,
‘value’ => $_GET[‘foors’],
‘type’ => ‘NUMERIC’,
‘compare’ => ‘>=’
);
}
[/code]
Чтобы работала вся конструкция сделайте так:
[code-
if ($_GET[‘foors’] >= 4 ) {
$args[‘meta_query’]
= array(
‘key’ => ‘foors’,
‘value’ => $_GET[‘foors’- ,
‘type’ => ‘NUMERIC’,
‘compare’ => ‘>=’
);
} else {
$args[‘meta_query’]
= array(
‘key’ => ‘foors’,
‘value’ => $_GET[‘foors’],
‘type’ => ‘NUMERIC’,
‘compare’ => ‘IN’
);
}
[/code]
Такой метод не подходит так как в GET массив и проверка с цифрой не проходит.
Я сделал таким образом может кому пригодится.
[code- if (!empty($_GET[‘foors’])) {
$foors=$_GET[‘foors’];
if(in_array(‘4’, $foors)) {
for($i=5;$i<10;$i++){
$foors
=$i;
}
}
$args[‘meta_query’-
= array(
‘key’ => ‘foors’,
‘value’ => $foors,
‘type’ => ‘NUMERIC’,
‘compare’ => ‘IN’
);
}[/code]