Ir ao conteúdo

Posts recomendados

Postado

Eu tenho um datetime em PHP que filtra os dados da tabela por um intervalo de tempo

Eu gostava de adicionar também um filtro de texto (barra de pesquisa) onde o user pesquisava por um campo da tabela e depois escolhia a data em queria ver registos desse mesmo campo

Existe forma de aliar a pesquisa por nome do campo à da data, em AJAX's diferentes?

 

Código AJAX no index.php

 

   <script>  
      $(document).ready(function(){  
           $.datepicker.setDefaults({  
                dateFormat: 'yy-mm-dd'   
           });  
           $(function(){  
                $("#from_date").datepicker();  
                $("#to_date").datepicker();  
           });  
           $('#filter').click(function(){  
                var from_date = $('#from_date').val();  
                var to_date = $('#to_date').val();  
                if(from_date != '')  
                {  
                     $.ajax({  
                          url:"filter.php",  
                          method:"POST",  
                          data:{from_date:from_date, to_date:to_date},  
                          success:function(data)  
                          {  
                               $('#order_table').html(data);  
                          }  
                     });  
                }  
                else  
                {  
                     alert("Selecione uma data");  
                }  
           });  
      });  
</script>

 

filtro.php

   

    <?php  
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        $data_i = filter_input(INPUT_POST, 'from_date');
        $data_f = filter_input(INPUT_POST, 'to_date');  
    } else {
        header("location:erro.php");
        exit();
    }
    
    if (empty($data_f)) {
    
        $data_f = date('y-m-d');
    }
     
          $connect = mysqli_connect("localhost", "root", "", "layouts");  
          $output = '';  
          $query = "SELECT m.nome AS Máquina, r.cod_máquina AS ID, r.cod_posto AS Posto, r.data AS Data, r.tipo AS Tipo, r.desc_alt AS Descr, r.responsável AS Responsável FROM registos_alteração r, máquinas m WHERE r.cod_máquina = m.cod_máquina AND r.data BETWEEN '".$_POST["from_date"]."' AND '$data_f'";
          $result = mysqli_query($connect, $query);  
          $output .= '  
          <table align="center">
          <thead>
          <tr>
              <font color="black">
                  <th>Máquina</th>
                  <th>Nº SAP</th>
                  <th>Posto</th>
                  <th>Data</th>
                  <th>Tipo</th>
                  <th>Descrição Alteração</th>
                  <th>Responsável</th>
          </tr>
          </thead>
          <tbody>
          ';  
          if(mysqli_num_rows($result) > 0)  
          {  
               while($row = mysqli_fetch_array($result))  
               {  
                $data = $row['Data'];
                $DateTime = DateTime::createFromFormat('Y-m-d', $data);
                $data_formatada = $DateTime->format('d-m-Y');
               
       
                $output .= '  
                         <tr>  
                              <td>'. $row["Máquina"] .'</td>  
                              <td>'. $row["ID"] .'</td>  
                              <td>'. $row["Posto"] .'</td>  
                              <td>'. $data_formatada .'</td>  
                              <td>'. $row["Tipo"] .'</td>  
                              <td>'. $row["Descr"] .'</td>  
                              <td>'. $row["Responsável"] .'</td>
                         </tr>  
                    ';  
               }  
          }  
          else  
          {  
        echo '<script language="javascript">';
        echo 'alert("Não existem resultados na data especificada!");';
        echo 'window.location.reload();';
        echo '</script>';
          }  
          $output .= '</table>';  
          echo $output;  
     ?>

 

image.thumb.png.ebfcbc46c3a8eccedf6c893861d93dff.png

Postado
function realizaConsulta(){
    var from_date = $('#from_date').val();  
    var to_date = $('#to_date').val();
	var campoTexto = $('#campoTexto').val();
	
	if(from_date != '')  
	{  
		 $.ajax({  
			  url:"filter.php",  
			  method:"POST",  
			  data:{from_date:from_date, to_date:to_date, campoTexto:campoTexto},  
			  success:function(data)  
			  {  
				   $('#order_table').html(data);  
			  }  
		 });  
	}  
	else  
	{  
		 alert("Selecione uma data");  
	} 
}

				
				
$('#filter').click(function(){  
    realizaConsulta();
});
$('#campoTexto').change(function(){  
    realizaConsulta();
});

 

Porém tem muita coisa no seu código que precisa ser afinado.

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!