terra 1 Denunciar post Postado Setembro 3, 2013 Olá, preciso mostrar eventos entre as data inicio e fim, a minha sql mostra somente a data de inicio e a data final. valeu Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Setembro 3, 2013 ... WHERE campo_da_data BETWEEN 'xxxx-xx-xx' AND 'yyyy-yy-yy' Compartilhar este post Link para o post Compartilhar em outros sites
terra 1 Denunciar post Postado Setembro 3, 2013 Olá, obrigado pela resposta. Veja a minha sql, coloquei BETWEEN e deu erro $ano=$_GET[CalYear];$dia = $_GET[CalDay];$mes = $_GET[CalMonth];$data=$ano."-".$mes."-".$dia;//echo $data; $query = "SELECT * FROM event WHERE approved=1 and (date_from2='$data' or date_to2='$data' )"; valeu Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Setembro 3, 2013 Para usar desta maneira lógica correta é: $query = "SELECT * FROM event WHERE approved=1 and date_from2>='$data' AND date_to2<='$data'"; Compartilhar este post Link para o post Compartilhar em outros sites
Cristianoferr 32 Denunciar post Postado Setembro 3, 2013 Onde está o between? Você na query está pedindo registros que começam ou terminem na data especificada. Compartilhar este post Link para o post Compartilhar em outros sites
terra 1 Denunciar post Postado Setembro 3, 2013 Olá. bom, dessa forma não mostra $query = "SELECT * FROM event WHERE approved=1 and date_from2>='$data' AND date_to2<='$data'"; eu tenho evento de 4/9 a 8/9, seu colocar a data 5/9 não mostra esse evento. Valeu Compartilhar este post Link para o post Compartilhar em outros sites
Cristianoferr 32 Denunciar post Postado Setembro 3, 2013 Qual o tipo de dado do date_from2? Eu diria que o mysql não está entendendo a formatação passada. Tenta executar no phpmyadmin. Compartilhar este post Link para o post Compartilhar em outros sites
vmolina 8 Denunciar post Postado Setembro 3, 2013 terra, Qual a finalidade dos campos date_from2 e date_to2? a logica da query que vc esta usando esta incorreta ela serve apenas para percorrer um campo. exemplo: $query = "SELECT * FROM event WHERE approved=1 and date_from2>='$data' AND date_from2 <='$data'"; Olá. bom, dessa forma não mostra eu tenho evento de 4/9 a 8/9, seu colocar a data 5/9 não mostra esse evento. Valeu Compartilhar este post Link para o post Compartilhar em outros sites
terra 1 Denunciar post Postado Setembro 3, 2013 Olá, date_from2 inicio do evento e date_to2 fim do evento, quero mostrar o evento nas datas entre inicio (date_from2) e fim (date_to2) valeu Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Setembro 3, 2013 Vamos lá, parece complicado de entender mas nem é tanto assim: - A data de início desejada deve ser menor que uma data final do banco de dados - A data de fim desejada deve ser maior que qualquer data inicial do banco Compartilhar este post Link para o post Compartilhar em outros sites
terra 1 Denunciar post Postado Setembro 3, 2013 ola eu queto mostrar os eventos entre as duad datas. Exemplo; tenho evento de 4/9 a 8/9 se o usuario acessar dia 5/9 esse evento não aparecerá. valeu Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Setembro 3, 2013 O problema é que você não guarda essas datas de evento em um campo só. Se existisse um campo só, chamado data_do_evento, você poderia listá-los como sugeriam acima, utilizando between... select * from eventos where data_do_evento between '2013-09-04' and '2013-09-08' No caso, pelo que deu pra entender das informações fornecidas, você tem eventos que duram mais de um dia, que começam em date_from2 e terminam em date_to2. Sabe nos informar o tipo de campo que eles são? Se forem datas é mais fácil de trabalhar. Você precisará procurar por todos os eventos que comecem (date_from2) e terminem (date_to2) no período especificado... select * from eventos where date_from2 >= '2013-09-04' and date_from2 <= '2013-09-08' and date_to2 >= '2013-09-04' and date_to2 <= '2013-09-08' Por favor, quanto mais informações você nos fornecer, mais fácil fica de te ajudar. Simplesmente voltar aqui e dizer que não deu certo complica pra caramba. Informe qualquer mensagem de erro que apareça. Informe a estrutura da tabela que você utiliza, forneça alguns dados de exemplo sempre que possível. Compartilhar este post Link para o post Compartilhar em outros sites
terra 1 Denunciar post Postado Setembro 3, 2013 Olá, Evandro, os dois campos date cadastrados assim nesse formato 2013-09-05 lembrando que pego a data de hoje com $_GET valeu Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Setembro 3, 2013 E a data que vem por [inline]$_GET[/inline] também vem nesse formato? Então a consulta que eu passei acima deve resolver. Compartilhar este post Link para o post Compartilhar em outros sites
terra 1 Denunciar post Postado Setembro 3, 2013 Sim, 0000-00-00 eu pego a data de hoje assim $ano=$_GET[CalYear];$dia = $_GET[CalDay];$mes = $_GET[CalMonth];$data=$ano."-".$mes."-".$dia; então eu teria que fazer o sql(acho) assim select * from event where approved=1 and $data a date_to2 valeu Compartilhar este post Link para o post Compartilhar em outros sites
terra 1 Denunciar post Postado Setembro 4, 2013 Olá, ainda preciso de ajuda nessa questão. Valeu Compartilhar este post Link para o post Compartilhar em outros sites
vmolina 8 Denunciar post Postado Setembro 4, 2013 terra use como parametro no select apenas um campo datefrom2 e mostre para o usuario o inicio e o fim. exemplo select * from eventos where date_from2 >= '2013-09-04' and date_from2 <= '2013-09-08'; Monta um array exibindo os dados do evento: Evento X / data inicio / data fim Evento 1 04/08/2013 05/08/2013 Evento 2 05/08/2013 08/08/2013 ........ Compartilhar este post Link para o post Compartilhar em outros sites
terra 1 Denunciar post Postado Setembro 4, 2013 olá, obrigado vmolina. Dessa forma não funciona, eu tenho eventos de 4 a 8 e tenho eventos de 5 a 7 por exemplo, assim vai mostrar hoje dia 4 um vento que começa amanhã dia 5. valeu Compartilhar este post Link para o post Compartilhar em outros sites
vmolina 8 Denunciar post Postado Setembro 4, 2013 Terra, sugestão: <?php $date = date('Y-m-d'); //Seleciona apenas os eventos realizados no dia atual //Exemplo: $seleciona_eventos_do_dia = mysql_query('select * from eventos where date_from2 = "$date"')or die(mysql_error()); //while ... exibe o resultado //Caso queria deixar uma opcao pro usuario filtrar os dias dos eventos use a query abaixo. // Exemplo: $data_inicio = $_POST['data_inicio']; $data_fim = $_POST['data_fim']; $seleciona_eventos_do_dia = mysql_query('select * from eventos where date_from2 >= "'.$data_inicio.'" and date_from2 <= "'.$data_fim.'"')or die(mysql_error()); ?> Compartilhar este post Link para o post Compartilhar em outros sites
terra 1 Denunciar post Postado Setembro 5, 2013 vmolina, então, isso eu já tenho: mostrar por data e opção para escolher a data. Preciso mostrar os eventos entre duas datas: Exemplo: evento de 4/9 a 8/9 mostra no dia 4 e 8, mas não mostra o evento nos dias 5,6 e 7. Será que isso não da pra fazer? Valeu Compartilhar este post Link para o post Compartilhar em outros sites