Фильтр с помощью 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>
Author: Dionatan, 2019-08-20

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