Ir para conteúdo
Fórum Script Brasil
  • 0

Filtro por datas no php (iniciante)


RenatoRibeiro

Pergunta

15 respostass a esta questão

Posts Recomendados

  • 0

Você vai precisar de um formulário nessa página, com action apontando para ela mesma, com dois campos de data com names "inicial" e "final" e um botão para pesquisar.

Depois é só receber os valores com as variáveis $_REQUEST["inicial"] e $_REQUEST["final"] para montar o WHERE do SELECT que você já tem.

Link para o comentário
Compartilhar em outros sites

  • 0

Markus agradeço pela ajuda, fiz os campos e o botão agora a parte de montar o WHERE do SELECT que já tenho fiquei meio confuso, se conseguir me ajudar estou enviando  codigo em uso:

<?php session_start();
    class result_cha
    {

        function result_cha()
        {
            $this->con = new conexao();
        }
        
            function lista_cha()
        {
            $sql_lista_cha = "select * from chamados where id_cliente = '".$_REQUEST['id']."'";
            $this->resultado_lista = $this->con->banco->Execute($sql_lista_cha);
            //$this->registros_lista = $this->resultado_lista->FetchNextObject(); 
        }

            function pega_tec($id_tec)
        {
            $sql_nome_tec = "select * from login where id = '$id_tec'";
            $this->resultado_nome_tec = $this->con->banco->Execute($sql_nome_tec);
            $this->registros_nome_tec = $this->resultado_nome_tec->FetchNextObject(); 
        }

            function lista_cli($id_cli)
        {
            $sql_lista_cli = "select * from clientes where id ='$id_cli'";
            $this->resultado_lista_cli = $this->con->banco->Execute($sql_lista_cli);
            $this->registros_lista_cli = $this->resultado_lista_cli->FetchNextObject(); 
        }

    }
    
    $oquefazer_lista = new result_cha();
    $oquefazer_lista->lista_cha();

?>


<div class="sidebar-overlay" id="sidebar-overlay"></div>
                <article class="content static-tables-page">
                    <div class="title-block">
                    <h1 class="title">
                        Lista de Chamados
                    </h1>
                        <p class="title-description"> Confira Abaixo os Chamados Cadastrados </p>
                    </div>
                    
                    
                    <div class="col-md-12">
                                <div class="card">
                                    <div class="card-block">
                                        <div class="card-title-block">
                                            <h3 class="title">
                            Chamados
                        </h3> </div>

                        <form method="post" action="resultado_relatorio_cha_cli">

                        <fieldset class="form-group">

                            <div class="col-md-2">
                            <div class="form-group">
                                 <label class="control-label" for="formGroupExampleInput">Data Inico:</label>
                                <input type="text" class="form-control" name="inicio">
                            </div>
                            </div>   

                            <div class="col-md-2">
                            <div class="form-group">
                                 <label class="control-label" for="formGroupExampleInput">Data Termino:</label>
                                <input type="text" class="form-control" name="termino">
                            </div>
                            </div>


                             
                        </fieldset>
                        </form>

                            <div class="col-md-2">
                            <div class="form-group">
                            
                                    <button type="submit" class="btn btn-oval btn-primary">Pesquisar</button>
                           
                            </div>
                            </div>

                                  
                                        <section class="example">
                                            <table class="table table-striped">
                                                <thead>
                                                    <tr>
                                                        <th>Chamado</th>
                                                        <th>Nome do Cliente</th>
                                                        <th>Data do Chamado</th>
                                                        <th>Responsavel</th>
                                                        <th>Tecnico</th>
                                                        <th>Total de Horas</th>
                                                        
                                                        

                                    
                                                        <?php if($_REQUEST['include'] == "consult_cha"){ ?> <th></th> <?php } else { ?> <th></th> <?php } ?>
                                                    </tr>
                                                </thead>

<tbody><?

?>
<?php while ($oquefazer_lista->registros_lista = $oquefazer_lista->resultado_lista->FetchNextObject()) {
$oquefazer_lista->lista_cli($oquefazer_lista->registros_lista->ID_CLIENTE);
$oquefazer_lista->pega_tec($oquefazer_lista->registros_lista->ID_TEC);

//  ENQUANTO HOUVER REGISTROS ESSA VARIAVEL É ALTERADA
$horaA = $oquefazer_lista->registros_lista->INICIO;
$horaB = $oquefazer_lista->registros_lista->TERMINO;

$hora_soma = calculaTempo($horaA, $horaB);
 


//alerta($horaA);

?>


                        <tr>
                            
                            <td><?php echo $oquefazer_lista->registros_lista->ID; ?></td>
                            <td><?php echo $oquefazer_lista->registros_lista_cli->NOME; ?></td>
                            <td><?php echo date('d/m/Y', strtotime($oquefazer_lista->registros_lista->DATA)); ?></td>
                            <td><?php echo $oquefazer_lista->registros_lista->RESPONSAVEL; ?></td>
                            <td><?php echo $oquefazer_lista->registros_nome_tec->USU_NOME; ?></td>
                            <td><?php echo calculaTempo($horaA, $horaB); ?></td>

                           
   <?php if($_REQUEST['include'] == "resultado_relatorio_cha_cli"){ ?>


        <td>  
        <div class="btn-group"> 
                <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">

           Ação
                </button>
                    <div class="dropdown-menu"> 
                        <a class="dropdown-item" href="logado.php?include=consult_cha_com&id=<?php echo $oquefazer_lista->registros_lista->ID; ?> ">Visualizar</a>
                        <a class="dropdown-item" href="logado.php?include=alterar_cha&id=<?php echo $oquefazer_lista->registros_lista->ID; ?> ">Alterar</a> 
                        <a class="dropdown-item" href="logado.php?include=deleta_cha&id=<?php echo $oquefazer_lista->registros_lista->ID; ?> ">Deletar</a>
                        <div class="dropdown-divider"> 
                        </div>  
                    </div>
            </div>
            </td>
   

            <?php  } else { ?> 
                        <td><a href="logado.php?include=chamado&id=<?php echo $oquefazer_lista->registros_lista->ID; ?>" class="btn btn-primary"> Abrir Chamado </a>
                        </td>
            <?php }  ?>
                        </tr>

            <?php }  ?>  
            

                                            </tbody>
 


                                            </table>
                                        </section>
                                    </div>
                                </div>
                            </div>
                    </article>


                   grato

Link para o comentário
Compartilhar em outros sites

  • 0

desculpe, acabei modificando algumas coisas aqui vai o codigo atual falta somente colocar o request que estou confuso

 

<!-- MÁSCARA INICIO -->
<script language="JavaScript">
    function mascara(t, mask){
             var i = t.value.length;
             var saida = mask.substring(1,0);
             var texto = mask.substring(i)
             if (texto.substring(0,1) != saida){
             t.value += texto.substring(0,1);
        }
    }
</script>
<!-- MÁSCARA FIM -->
<?php session_start();
    class result_cha
    {

        function result_cha()
        {
            $this->con = new conexao();
        }
        
            function lista_cha()
        {
            $sql_lista_cha = "select * from chamados where id_cliente = '".$_REQUEST['id']."'";
            $this->resultado_lista = $this->con->banco->Execute($sql_lista_cha);
            //$this->registros_lista = $this->resultado_lista->FetchNextObject(); 
        }

            function pega_tec($id_tec)
        {
            $sql_nome_tec = "select * from login where id = '$id_tec'";
            $this->resultado_nome_tec = $this->con->banco->Execute($sql_nome_tec);
            $this->registros_nome_tec = $this->resultado_nome_tec->FetchNextObject(); 
        }

            function lista_cli($id_cli)
        {
            $sql_lista_cli = "select * from clientes where id ='$id_cli'";
            $this->resultado_lista_cli = $this->con->banco->Execute($sql_lista_cli);
            $this->registros_lista_cli = $this->resultado_lista_cli->FetchNextObject(); 
        }

    }
    
    $oquefazer_lista = new result_cha();
    $oquefazer_lista->lista_cha();

?>


<div class="sidebar-overlay" id="sidebar-overlay"></div>
                <article class="content static-tables-page">
                    <div class="title-block">
                    <h1 class="title">
                        Lista de Chamados
                    </h1>
                        <p class="title-description"> Confira Abaixo os Chamados Cadastrados </p>
                    </div>
                    
                    
                    <div class="col-md-12">
                                <div class="card">
                                    <div class="card-block">
                                        <div class="card-title-block">
                                            <h3 class="title">
                            Chamados
                        </h3> </div>
                <div class="header-block header-block-search hidden-sm-down">

                        <form method="post" action="resultado_relatorio_cha_cli">

                        <div class="input-container"> 

                        <button type="submit" class="btn fa fa-search"></button>

                            <div class="col-md-2">
                            <div class="form-group">
                                 <label class="control-label" for="formGroupExampleInput">Data Inico:</label>
                                <input type="text" class="form-control" name="inicio" onkeypress="mascara(this, '##/##/####')" maxlength="10">
                            </div>
                            </div>   

                            <div class="col-md-2">
                            <div class="form-group">
                                 <label class="control-label" for="formGroupExampleInput">Data Termino:</label>
                                <input type="text" class="form-control" name="termino" onkeypress="mascara(this, '##/##/####')" maxlength="10">
                            </div>
                            </div>

                            <div class="underline"></div>
                             
                        </fieldset>
                        </form>
            </div>

                                  
                                        <section class="example">
                                            <table class="table table-striped">
                                                <thead>
                                                    <tr>
                                                        <th>Chamado</th>
                                                        <th>Nome do Cliente</th>
                                                        <th>Data do Chamado</th>
                                                        <th>Responsavel</th>
                                                        <th>Tecnico</th>
                                                        <th>Total de Horas</th>
                                                        
                                                        

                                    
                                                        <?php if($_REQUEST['include'] == "consult_cha"){ ?> <th></th> <?php } else { ?> <th></th> <?php } ?>
                                                    </tr>
                                                </thead>

<tbody><?

?>
<?php while ($oquefazer_lista->registros_lista = $oquefazer_lista->resultado_lista->FetchNextObject()) {
$oquefazer_lista->lista_cli($oquefazer_lista->registros_lista->ID_CLIENTE);
$oquefazer_lista->pega_tec($oquefazer_lista->registros_lista->ID_TEC);

//  ENQUANTO HOUVER REGISTROS ESSA VARIAVEL É ALTERADA
$horaA = $oquefazer_lista->registros_lista->INICIO;
$horaB = $oquefazer_lista->registros_lista->TERMINO;

$hora_soma = calculaTempo($horaA, $horaB);
 


//alerta($horaA);

?>


                        <tr>
                            
                            <td><?php echo $oquefazer_lista->registros_lista->ID; ?></td>
                            <td><?php echo $oquefazer_lista->registros_lista_cli->NOME; ?></td>
                            <td><?php echo date('d/m/Y', strtotime($oquefazer_lista->registros_lista->DATA)); ?></td>
                            <td><?php echo $oquefazer_lista->registros_lista->RESPONSAVEL; ?></td>
                            <td><?php echo $oquefazer_lista->registros_nome_tec->USU_NOME; ?></td>
                            <td><?php echo calculaTempo($horaA, $horaB); ?></td>

                           
   <?php if($_REQUEST['include'] == "resultado_relatorio_cha_cli"){ ?>


        <td>  
        <div class="btn-group"> 
                <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">

           Ação
                </button>
                    <div class="dropdown-menu"> 
                        <a class="dropdown-item" href="logado.php?include=consult_cha_com&id=<?php echo $oquefazer_lista->registros_lista->ID; ?> ">Visualizar</a>
                        <a class="dropdown-item" href="logado.php?include=alterar_cha&id=<?php echo $oquefazer_lista->registros_lista->ID; ?> ">Alterar</a> 
                        <a class="dropdown-item" href="logado.php?include=deleta_cha&id=<?php echo $oquefazer_lista->registros_lista->ID; ?> ">Deletar</a>
                        <div class="dropdown-divider"> 
                        </div>  
                    </div>
            </div>
            </td>
   

            <?php  } else { ?> 
                        <td><a href="logado.php?include=chamado&id=<?php echo $oquefazer_lista->registros_lista->ID; ?>" class="btn btn-primary"> Abrir Chamado </a>
                        </td>
            <?php }  ?>
                        </tr>

            <?php }  ?>  
            

                                            </tbody>
 


                                            </table>
                                        </section>
                                    </div>
                                </div>
                            </div>
                    </article>


                   

Link para o comentário
Compartilhar em outros sites

  • 0

Altera esse método

<?php
function lista_cha($filtros) {
  $sql_lista_cha = "SELECT * FROM chamados WHERE id_cliente = '".$filtros['id']."'";
  if (isset($filtros['inicio']))
    $sql_lista_cha .= " AND data >= ".$filtro['inicio']; // Altera o nome do campo pra ficar igual com a sua tabela
  if (isset($filtros['termino']))
    $sql_lista_cha .= " AND data < ".$filtro['termino']; // Altera o nome do campo pra ficar igual com a sua tabela
  $this->resultado_lista = $this->con->banco->Execute($sql_lista_cha);
}

E também a chamada do método

<?php
$oquefazer_lista->lista_cha($_REQUEST);

 

Link para o comentário
Compartilhar em outros sites

  • 0

aparece esse erro porem no action esta assim :  <form method="post" action="logado.php?include=resultado_relatorio_cha_cli&id=<?php echo $oquefazer_lista->registros_lista->ID; ?>">

onde logado.php é minha base de paginas

 

a linha do ERRO é esta aqui do while:

 

<tbody><?

?>
<?php while ($oquefazer_lista->registros_lista = $oquefazer_lista->resultado_lista->FetchNextObject()) {
$oquefazer_lista->lista_cli($oquefazer_lista->registros_lista->ID_CLIENTE);
$oquefazer_lista->pega_tec($oquefazer_lista->registros_lista->ID_TEC);
$oquefazer_lista->lista_cha($oquefazer_lista->registros_lista->DATA);

 

ERRO.jpg

a linha do ERRO é esta aqui do while:

 

<tbody><?

?>
<?php while ($oquefazer_lista->registros_lista = $oquefazer_lista->resultado_lista->FetchNextObject()) {
$oquefazer_lista->lista_cli($oquefazer_lista->registros_lista->ID_CLIENTE);
$oquefazer_lista->pega_tec($oquefazer_lista->registros_lista->ID_TEC);
$oquefazer_lista->lista_cha($oquefazer_lista->registros_lista->DATA);

a linha do ERRO é esta aqui do while:

 

<tbody><?

?>
<?php while ($oquefazer_lista->registros_lista = $oquefazer_lista->resultado_lista->FetchNextObject()) {
$oquefazer_lista->lista_cli($oquefazer_lista->registros_lista->ID_CLIENTE);
$oquefazer_lista->pega_tec($oquefazer_lista->registros_lista->ID_TEC);
$oquefazer_lista->lista_cha($oquefazer_lista->registros_lista->DATA);

Editado por RenatoRibeiro
Link para o comentário
Compartilhar em outros sites

  • 0

Ah tah o problema é essa linha que eu acabei apagando

//$this->registros_lista = $this->resultado_lista->FetchNextObject();  

Volta ela

<?php
function lista_cha($filtros) {
  $sql_lista_cha = "SELECT * FROM chamados WHERE id_cliente = '".$filtros['id']."'";
  if (isset($filtros['inicio']))
    $sql_lista_cha .= " AND data >= ".$filtro['inicio']; // Altera o nome do campo pra ficar igual com a sua tabela
  if (isset($filtros['termino']))
    $sql_lista_cha .= " AND data < ".$filtro['termino']; // Altera o nome do campo pra ficar igual com a sua tabela
  $this->resultado_lista = $this->con->banco->query($sql_lista_cha);
  $this->registros_lista = $this->resultado_lista->FetchNextObject(); 
}

 

Link para o comentário
Compartilhar em outros sites

  • 0

já não deu erros porem a tela fica branca não apareceu nada

TELA BRANCA.jpg

 

<?php session_start();
    class result_cha
    {

        function result_cha()
        {
            $this->con = new conexao();
        }
        
            function lista_cha($filtros)
        {
            $sql_lista_cha = "select * from chamados where id_cliente = '".$_REQUEST['id']."'";
            if (isset($filtros['data']))
                $sql_lista_cha .= " AND data >= ".$filtro['data']; // Altera o nome do campo pra ficar igual com a sua tabela
            if (isset($filtros['data']))
                $sql_lista_cha .= " AND data < ".$filtro['data']; // Altera o nome do campo pra ficar igual com a sua tabela
            $this->resultado_lista = $this->con->banco->Execute($sql_lista_cha);
            $this->registros_lista = $this->resultado_lista->FetchNextObject(); 
        }

            function pega_tec($id_tec)
        {
            $sql_nome_tec = "select * from login where id = '$id_tec'";
            $this->resultado_nome_tec = $this->con->banco->Execute($sql_nome_tec);
            $this->registros_nome_tec = $this->resultado_nome_tec->FetchNextObject(); 
        }

            function lista_cli($id_cli)
        {
            $sql_lista_cli = "select * from clientes where id ='$id_cli'";
            $this->resultado_lista_cli = $this->con->banco->Execute($sql_lista_cli);
            $this->registros_lista_cli = $this->resultado_lista_cli->FetchNextObject(); 
        }

    }
    
    $oquefazer_lista = new result_cha();
    $oquefazer_lista->lista_cha($filtros);

?>

 

Mudei também o  $oquefazer_lista->lista_cha($filtros) lá em baixo você tinha pedido para colocar $oquefazer_lista->lista_cha($_REQUEST) ai apareceu  essa tela para mim

APOS CLICAR EM PESQUISAR (DEPOIS DE ALTERADO $_REQUEST PARA $FILTRO).jpg

 

<?php session_start();
    class result_cha
    {

        function result_cha()
        {
            $this->con = new conexao();
        }
        
            function lista_cha($filtros)
        {
            $sql_lista_cha = "select * from chamados where id_cliente = '".$_REQUEST['id']."'";
            if (isset($filtros['data']))
                $sql_lista_cha .= " AND data >= ".$filtro['data']; // Altera o nome do campo pra ficar igual com a sua tabela
            if (isset($filtros['data']))
                $sql_lista_cha .= " AND data < ".$filtro['data']; // Altera o nome do campo pra ficar igual com a sua tabela
            $this->resultado_lista = $this->con->banco->Execute($sql_lista_cha);
            $this->registros_lista = $this->resultado_lista->FetchNextObject(); 
        }

            function pega_tec($id_tec)
        {
            $sql_nome_tec = "select * from login where id = '$id_tec'";
            $this->resultado_nome_tec = $this->con->banco->Execute($sql_nome_tec);
            $this->registros_nome_tec = $this->resultado_nome_tec->FetchNextObject(); 
        }

            function lista_cli($id_cli)
        {
            $sql_lista_cli = "select * from clientes where id ='$id_cli'";
            $this->resultado_lista_cli = $this->con->banco->Execute($sql_lista_cli);
            $this->registros_lista_cli = $this->resultado_lista_cli->FetchNextObject(); 
        }

    }
    
    $oquefazer_lista = new result_cha();
    $oquefazer_lista->lista_cha($filtros);

?>

 

Mudei também o  $oquefazer_lista->lista_cha($filtros) lá em baixo você tinha pedido para colocar $oquefazer_lista->lista_cha($_REQUEST) ai apareceu  essa tela para mim

APOS CLICAR EM PESQUISAR (DEPOIS DE ALTERADO $_REQUEST PARA $FILTRO).jpg

Link para o comentário
Compartilhar em outros sites

  • 0

se eu aperto pesquisar no sistema sem colocar data nenhuma ele continua mudando id do cliente ex:

http://empresa.com.br/sistema/logado.php?include=resultado_relatorio_cha_cli&id=136 CORRETO

 

http://empresa.com.br/sistema/logado.php?include=resultado_relatorio_cha_cli&id=204 APOS CLICAR PEQUISAR COM QUALQUER DATA

 

Percebo algum erro aqui:

?>
<?php while ($oquefazer_lista->registros_lista = $oquefazer_lista->resultado_lista->FetchNextObject()) {
$oquefazer_lista->lista_cli($oquefazer_lista->registros_lista->ID_CLIENTE);
$oquefazer_lista->pega_tec($oquefazer_lista->registros_lista->ID_TEC);

me parece que na repetição do while esta faltando alguma coisa

 

Percebo algum erro aqui:

?>
<?php while ($oquefazer_lista->registros_lista = $oquefazer_lista->resultado_lista->FetchNextObject()) {
$oquefazer_lista->lista_cli($oquefazer_lista->registros_lista->ID_CLIENTE);
$oquefazer_lista->pega_tec($oquefazer_lista->registros_lista->ID_TEC);

me parece que na repetição do while esta faltando alguma coisa

 

Percebo algum erro aqui:

?>
<?php while ($oquefazer_lista->registros_lista = $oquefazer_lista->resultado_lista->FetchNextObject()) {
$oquefazer_lista->lista_cli($oquefazer_lista->registros_lista->ID_CLIENTE);
$oquefazer_lista->pega_tec($oquefazer_lista->registros_lista->ID_TEC);

me parece que na repetição do while esta faltando alguma coisa

Editado por RenatoRibeiro
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...