Marciarv 0 Denunciar post Postado Junho 7, 2011 Olá pessoal, gostaria que alguem me desse uma ajuda pois já procurei tanto na net um geito que me faça filtrar dos campos de data que tenho no formulário que é datainicial e datafinal. O problema é que essa data é salva no banco como YYYY-MM-DD e se digitar no form dessa forma ele filtra corretamente, mas como eu faço para quando for colocado DD/MM/YYYY que é o de costume ele consiga pegar o resultado das datas no banco??? porque quando é digitado dessa forma ele não pega nada!!! Essa é uma das maneiras que tentei mas fica dando erro enão vai de geito nenhum e se alguém puder me dar uma ajuda com esse script :) global $inicial; global $final; $inicial = $_REQUEST["datainicial"]; $final = $_REQUEST["datafinal"]; $datainicial = implode("-", array_reverse(explode("/", $inicial))); $datafinal = implode("-", array_reverse(explode("/", $final))); $rs=mysql_query("SELECT * FROM faq where cliente='$cliente' and data_abertura >= '$datainicial' AND data_abertura <= '$datafinal' "); Compartilhar este post Link para o post Compartilhar em outros sites
Periscuelo 20 Denunciar post Postado Junho 7, 2011 Sua dúvida é de PHP amiga e não de MySQL. Você postou no fórum errado. Se pesquisar no fórum de PHP vai achar muitas dúvidas iguais a sua. Abraços. Compartilhar este post Link para o post Compartilhar em outros sites
elitediego 0 Denunciar post Postado Junho 7, 2011 Existe várias maneiras de se fazer isso uma delas é usar a função date_format('%d/%m/%Y') outra maneira de fazer implode('-',array_reverse(explode('/',$data_ativ)));//o usuário insere a data no formato dd/mm/aaaa e ela é invertida para o formato do banco aaaa/mm/dd e além de você poder usar o >= e o <= vcc pode optar também pelo between Compartilhar este post Link para o post Compartilhar em outros sites
Marciarv 0 Denunciar post Postado Junho 7, 2011 Eu tava na dúvida mesmo se era aqui ou php hehehe, mas vou dar uma olhada lá no PHP e ver se acho alguma coisa. E elitediego obrigado pela dica, mas não sei se estou colocando estas funções no lugar errado porque quando executo ele esta dando erro :( olha o erro que esta dando PHP Warning: Division by zero in E:\home\site\index2.php on line 11 Compartilhar este post Link para o post Compartilhar em outros sites
elitediego 0 Denunciar post Postado Junho 7, 2011 Eu tava na dúvida mesmo se era aqui ou php hehehe, mas vou dar uma olhada lá no PHP e ver se acho alguma coisa. E elitediego obrigado pela dica, mas não sei se estou colocando estas funções no lugar errado porque quando executo ele esta dando erro :( olha o erro que esta dando PHP Warning: Division by zero in E:\home\site\index2.php on line 11 Bom parece q você está tentando dividir alguma coisa por zero, se você puder post a linha do erro ou o código completo. Compartilhar este post Link para o post Compartilhar em outros sites
Marciarv 0 Denunciar post Postado Junho 7, 2011 De uma olhada no código <?php include "conecta.php"; include "valida_session.php"; $parceiro=($_GET['listaparceiro']); $cliente=($_GET['listacliente']); $datainicio = $_GET["inicio"]; // data inicio do form $datafim = $_GET["fim"]; // data fim do form implode('-',array_reverse(explode('/',$data_ativ))); $rs=mysql_query("SELECT * FROM faq where cliente='$cliente' and data_abertura >= '$datainicio' AND data_abertura <= '$datafim' "); (esta é a linha 11 que é onde apresenta o erro) ?> Compartilhar este post Link para o post Compartilhar em outros sites
elitediego 0 Denunciar post Postado Junho 7, 2011 De uma olhada no código <?php include "conecta.php"; include "valida_session.php"; $parceiro=($_GET['listaparceiro']); $cliente=($_GET['listacliente']); $datainicio = $_GET["inicio"]; // data inicio do form $datafim = $_GET["fim"]; // data fim do form implode('-',array_reverse(explode('/',$data_ativ))); $rs=mysql_query("SELECT * FROM faq where parceiro='$parceiro' and data_abertura >= '$datainicio' AND data_abertura <= '$datafim' "); (esta é a linha 11 que é onde apresenta o erro) ?> Tenta assim. <?php include "conecta.php"; include "valida_session.php"; $parceiro=($_GET['listaparceiro']); $cliente=($_GET['listacliente']); $datainicio = $_GET["inicio"]; // data inicio do form $datainicio = implode('-',array_reverse(explode('/',$datainicio )));//o usuário insere a data no formato dd/mm/aaaa e ela é invertida para o formato do banco aaaa/mm/dd $datafim = $_GET["fim"]; // data fim do form $datafim =implode('-',array_reverse(explode('/',$datafim ))); $rs=mysql_query("SELECT * FROM faq where parceiro='$parceiro' and data_abertura >= '$datainicio' AND data_abertura <= '$datafim' "); (esta é a linha 11 que é onde apresenta o erro) ?> Compartilhar este post Link para o post Compartilhar em outros sites
Marciarv 0 Denunciar post Postado Junho 7, 2011 Fiz do geito que me informou, e ele parou de apresentar erros, mas infelizmente não esta retornando resultado nenhum. Compartilhar este post Link para o post Compartilhar em outros sites
elitediego 0 Denunciar post Postado Junho 7, 2011 Fiz do geito que me informou, e ele parou de apresentar erros, mas infelizmente não esta retornando resultado nenhum. provavelmente porque ñ tem resultado, verifica se realmente a data que você está procurando existe. Compartilhar este post Link para o post Compartilhar em outros sites
Marciarv 0 Denunciar post Postado Junho 7, 2011 Sim existe pois eu mesmo cadastrei para poder testar. Compartilhar este post Link para o post Compartilhar em outros sites
elitediego 0 Denunciar post Postado Junho 7, 2011 Sim existe pois eu mesmo cadastrei para poder testar. <?php Tenta assim agora include "conecta.php"; include "valida_session.php"; $parceiro=($_GET['listaparceiro']); $cliente=($_GET['listacliente']); $datainicio = $_GET["inicio"]; // data inicio do form $datainicio = implode('-',array_reverse(explode('/',$datainicio )));//o usuário insere a data no formato dd/mm/aaaa e ela é invertida para o formato do banco aaaa/mm/dd $datafim = $_GET["fim"]; // data fim do form $datafim =implode('-',array_reverse(explode('/',$datafim ))); $rs=mysql_query("SELECT * FROM faq where parceiro='$parceiro' and data_abertura between '$datainicio' and '$datafim' "); ?> Há uma pergunta qual o tipo do campo de data no banco? Compartilhar este post Link para o post Compartilhar em outros sites
Marciarv 0 Denunciar post Postado Junho 7, 2011 Sim existe pois eu mesmo cadastrei para poder testar. <?php Tenta assim agora include "conecta.php"; include "valida_session.php"; $parceiro=($_GET['listaparceiro']); $cliente=($_GET['listacliente']); $datainicio = $_GET["inicio"]; // data inicio do form $datainicio = implode('-',array_reverse(explode('/',$datainicio )));//o usuário insere a data no formato dd/mm/aaaa e ela é invertida para o formato do banco aaaa/mm/dd $datafim = $_GET["fim"]; // data fim do form $datafim =implode('-',array_reverse(explode('/',$datafim ))); $rs=mysql_query("SELECT * FROM faq where parceiro='$parceiro' and data_abertura between '$datainicio' and '$datafim' "); ?> Há uma pergunta qual o tipo do campo de data no banco? è campo Date Compartilhar este post Link para o post Compartilhar em outros sites
elitediego 0 Denunciar post Postado Junho 7, 2011 Sim existe pois eu mesmo cadastrei para poder testar. <?php Tenta assim agora include "conecta.php"; include "valida_session.php"; $parceiro=($_GET['listaparceiro']); $cliente=($_GET['listacliente']); $datainicio = $_GET["inicio"]; // data inicio do form $datainicio = implode('-',array_reverse(explode('/',$datainicio )));//o usuário insere a data no formato dd/mm/aaaa e ela é invertida para o formato do banco aaaa/mm/dd $datafim = $_GET["fim"]; // data fim do form $datafim =implode('-',array_reverse(explode('/',$datafim ))); $rs=mysql_query("SELECT * FROM faq where parceiro='$parceiro' and data_abertura between '$datainicio' and '$datafim' "); ?> Há uma pergunta qual o tipo do campo de data no banco? è campo Date Tenta da segunda forma com o operador between como eu postei tem q funcionar porque eu testei no meu banco e funcionou. Compartilhar este post Link para o post Compartilhar em outros sites
Marciarv 0 Denunciar post Postado Junho 7, 2011 Elitediego testei varias vezes aqui e infelizmente ele não retorna nenhum valor. De nenhuma forma. :( Compartilhar este post Link para o post Compartilhar em outros sites
elitediego 0 Denunciar post Postado Junho 7, 2011 Elitediego testei varias vezes aqui e infelizmente ele não retorna nenhum valor. De nenhuma forma. :( muito estranho... Posta o codigo do formulário pra ver se derrepente o problema pode ser ele A propósito como você faz para exibir os resultados???????? pois nesse codigo q você postou nunca vai exibir nada, você tem q ter um while para listar os dados!!! Compartilhar este post Link para o post Compartilhar em outros sites
Marciarv 0 Denunciar post Postado Junho 7, 2011 <form id="form1" name="form1" method="get" action="Untitled-2.php"> <p> <select name="listaparceiro" id="listaparceiro"> <option value="select">Selecione o Parceiro</option> <option value="Parceiro1">Parceiro1</option> <option value="Parceiro2">Parceiro2</option> </select> <select name="listacliente" id="listacliente"> <option class="select" value="TODOS">TODOS</option> <option value="cliente1">cliente1</option> <option value="cliente2">cliente2</option> <option value="cliente3">cliente3</option> </select> <tr> <td width="177"><span class="style13"> Periodo:</span></td> <td width="19">DE:</td> <td width="60"><input name="inicial" type="text" id="inicio" size="10" maxlength="10" /> </td> <td width="10"> Á </td> <td width="255"><label> <input name="final" type="text" id="fim" size="10" maxlength="10" /> </label></td> </tr> </table> <input type="submit" name="busca" id="busca" value="Pesquisar" /> </form> Os dados são exibidos dessa forma e no mesmo arquivo <?php if ($cliente=="TODOS") { ?> <?php while($row=mysql_fetch_assoc($rs)) // as linhas abaixo listam os dados encontrados: {?> </p> <div id="faq"> <ul id="faqs"> <li> <h2>Ocorrência: <?php echo $row['assunto']; ?> </h2> <div class="answer"> <p> Cliente: <?php echo $row['Cliente']; ?> <span class="style14"> / ERP:</span> <?php echo $linha['Parceiro'];?></h2> </p> <p> Descrição: <?php echo $row['prob_usuario']; ?> </p> <p> Observação: <?php echo $row['solucao']; ?> </p> </div> </li> </ul> </p> </div> <?php } ?> <?php } ?> </div> Compartilhar este post Link para o post Compartilhar em outros sites
elitediego 0 Denunciar post Postado Junho 7, 2011 <form id="form1" name="form1" method="get" action="Untitled-2.php"> <p> <select name="listaparceiro" id="listaparceiro"> <option value="select">Selecione o Parceiro</option> <option value="Parceiro1">Parceiro1</option> <option value="Parceiro2">Parceiro2</option> </select> <select name="listacliente" id="listacliente"> <option class="select" value="TODOS">TODOS</option> <option value="cliente1">cliente1</option> <option value="cliente2">cliente2</option> <option value="cliente3">cliente3</option> </select> <tr> <td width="177"><span class="style13"> Periodo:</span></td> <td width="19">DE:</td> <td width="60"><input name="inicial" type="text" id="inicio" size="10" maxlength="10" /> </td> <td width="10"> Á </td> <td width="255"><label> <input name="final" type="text" id="fim" size="10" maxlength="10" /> </label></td> </tr> </table> <input type="submit" name="busca" id="busca" value="Pesquisar" /> </form> Os dados são exibidos dessa forma e no mesmo arquivo <?php if ($cliente=="TODOS") { ?> <?php while($row=mysql_fetch_assoc($rs)) // as linhas abaixo listam os dados encontrados: {?> </p> <div id="faq"> <ul id="faqs"> <li> <h2>Ocorrência: <?php echo $row['assunto']; ?> </h2> <div class="answer"> <p> Cliente: <?php echo $row['Cliente']; ?> <span class="style14"> / ERP:</span> <?php echo $linha['Parceiro'];?></h2> </p> <p> Descrição: <?php echo $row['prob_usuario']; ?> </p> <p> Observação: <?php echo $row['solucao']; ?> </p> </div> </li> </ul> </p> </div> <?php } ?> <?php } ?> </div> ñ entendi esse codigo q você postou é de que? <form id="form1" name="form1" method="get" action="Untitled-2.php"> <p> <select name="listaparceiro" id="listaparceiro"> <option value="select">Selecione o Parceiro</option> <option value="Parceiro1">Parceiro1</option> <option value="Parceiro2">Parceiro2</option> </select> <select name="listacliente" id="listacliente"> <option class="select" value="TODOS">TODOS</option> <option value="cliente1">cliente1</option> <option value="cliente2">cliente2</option> <option value="cliente3">cliente3</option> </select> <tr> <td width="177"><span class="style13"> Periodo:</span></td> <td width="19">DE:</td> <td width="60"><input name="inicial" type="text" id="inicio" size="10" maxlength="10" /> </td> <td width="10"> Á </td> <td width="255"><label> <input name="final" type="text" id="fim" size="10" maxlength="10" /> </label></td> </tr> </table> <input type="submit" name="busca" id="busca" value="Pesquisar" /> </form> Os dados são exibidos dessa forma e no mesmo arquivo <?php if ($cliente=="TODOS") { ?> <?php while($row=mysql_fetch_assoc($rs)) // as linhas abaixo listam os dados encontrados: {?> </p> <div id="faq"> <ul id="faqs"> <li> <h2>Ocorrência: <?php echo $row['assunto']; ?> </h2> <div class="answer"> <p> Cliente: <?php echo $row['Cliente']; ?> <span class="style14"> / ERP:</span> <?php echo $linha['Parceiro'];?></h2> </p> <p> Descrição: <?php echo $row['prob_usuario']; ?> </p> <p> Observação: <?php echo $row['solucao']; ?> </p> </div> </li> </ul> </p> </div> <?php } ?> <?php } ?> </div> ñ entendi esse codigo q você postou é de que? As sseguintes linhas ?php echo $row['Cliente']; ?> <span class="style14"> / ERP:</span> <?php echo $linha['Parceiro'];?></h2> cliente e parceiro esta em maisculo você tem q ver se é desta forma q esta no banco. e use a formatação do forum e coloque entre as tags php, e teste a query no banco pra ver se esta funcionando para assim eliminar erros Compartilhar este post Link para o post Compartilhar em outros sites
Marciarv 0 Denunciar post Postado Junho 7, 2011 Este é o formulário e logo abaixo tem um while para poder apresentar os resultado, aquele if (&cliente=TODOS) é um parametro que foi colocado para indicar se escolhesse um parceiro e em cliente colocasse todos, os dados aparecem nesse while senão apareceriam em outro while que tenho aqui. Esse script ta meio confuso rsrsrs mas ele funciona muito bem, só que tem que digitar a data como esta no banco infelizmente. Compartilhar este post Link para o post Compartilhar em outros sites
elitediego 0 Denunciar post Postado Junho 7, 2011 onde esta o echo da data de abertura? e quanto as os campos começamdo em maiusculo ñ é uma boa prática de programação. Compartilhar este post Link para o post Compartilhar em outros sites
Marciarv 0 Denunciar post Postado Junho 7, 2011 O echo com o campo data_abertura eu não coloco para visualizar só apenas as informações referentes a ela. Eu não sabia a respeito das letras maiusculas, mas vou tirar e obrigado pela dica. Compartilhar este post Link para o post Compartilhar em outros sites