Фильтр с помощью combobox
Я пытаюсь сделать некоторые фильтры, с помощью combobox
, эти фильтры соответствуют в год и месяц, вытащил даты.
, например: Когда я выбираю год 2019 и месяц 01 возвращается все результаты месяца 01 2019 и так далее.
Однако, когда мне нужно вытащить все результаты только год 2019, чтобы знать, сколько результат в целом год без выбора месяца не показал никаких результатов.
Кто-нибудь может мне одной америка, как решить эту проблему
Ниже приводится отрывок из кодов
ПРИМЕЧАНИЕ: поле дата в формате date, я с помощью mysql -
<?php
$parametro_ano = filter_input(INPUT_GET, "parametro_ano");
$parametro_mes = filter_input(INPUT_GET, "parametro_mes");
$sql = "SELECT data_processo FROM tb_processo
WHERE MONTH (data_processo) = $parametro_mes and YEAR (data_processo) = $parametro_ano";
?>
<div class="row">
<select name="parametro_ano" class="form-control">
<option value="">SELECIONE O ANO</option>
<option value="2019">2019</option>
<option value="2018">2018</option>
<option value="2017">2017</option>
</select><br><br>
<select name="parametro_mes" class="form-control">
<option value="">SELECIONE O MES</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
</div><br>
2
1 answers
Я Считаю, что решения, перечисленные ниже, решит вашу проблему, но я предлагаю вам сделать некоторые проверки.
$parametro_ano = filter_input(INPUT_GET, "parametro_ano");
$parametro_mes = filter_input(INPUT_GET, "parametro_mes");
$sql = "SELECT data_processo FROM tb_processo WHERE 1=1";
if (isset($parametro_mes)) {
$sql .= " AND MONTH (data_processo) = $parametro_mes";
}
if (isset($parametro_ano)) {
$sql .= " AND YEAR (data_processo) = $parametro_ano";
}
1
Author: Kayo Bruno, 2019-08-20 20:02:58