Cliver 0 Denunciar post Postado Janeiro 24, 2006 Olá Amigos, estou precisando de ajuda na seguinte questão: Trabalho com PHP e MySQL Tenho uma tabela do meu banco de dados onde as datas são salvas no modelo: dd/mm/aaaa Eu preciso fazer uma busca mais ou menos da seguinte maneira: $sql = mysql_query("SELECT * FROM contas_receber WHERE data_faturamento >= '$data_1' && data_faturamento <= '$data_2' ORDER BY id DESC"); Porém, isso não dá certo como eu queria pois só leva em consideração os dois primeiros digitos da data, ou seja, se eu colocar para buscar entre 10/01/2006 e 20/01/2006 o sistema buscará entre os dias 10 e 20 de todos os meses. Alguma solução sem precisar alterar a estrutura do banco de dados? Desde já, agradeço.---------------------------------------Bom, isso foi postado semana passa, tópico: 162751mas nenhuma solução aprensentada funcionou!Gostaria de reforçar o pedido de ajuda, por favor.Caso ninguém encontre solução sem eu precisar alterara estrutura do Banco de Dados, não verei outra soluçãoa não ser deixar os campos como 'date'.Mas daí tenho uma dúvida: ao imprimir um valor do campo date:0000-00-00 00:00:00 como faço para automaticamente deixá-lo como:dd/mm/AAAA ???Desde já, agradeço! Compartilhar este post Link para o post Compartilhar em outros sites
Illidan 0 Denunciar post Postado Janeiro 25, 2006 Caso ninguém encontre solução sem eu precisar alterara estrutura do Banco de Dados, não verei outra solução a não ser deixar os campos como 'date'. Mas daí tenho uma dúvida: ao imprimir um valor do campo date: 0000-00-00 00:00:00 como faço para automaticamente deixá-lo como: dd/mm/AAAA ??? Amigo, Tenho certeza que utilizar o campo do tipo date (ou datetime, caso precise salvar o horário além da data) é a melhor solução. Não só por ordenar corretamente, mas também por você poder utilizar funções nativas do MySQL nele. Veja um exemplo: SELECT id, DATE_FORMAT(data, '%d/%m/%Y') as data_formatada WHERE YEAR(data) = YEAR(NOW()) AND MONTH(data) = MONTH(NOW()) ORDER BY DAYOFMONTH(data) DESC Neste select, eu utilizei várias funções nativas do MySQL no campo data... repare que já estou formatando a seleção deste campo logo na query (o valor formatado virá com a chave "data_formatada"). Veja na cláusula WHERE como faria pra selecionar só os registros do mês corrente, e na ORDER BY como faria pra ordená-los de forma que os mais atuais viessem primeiro. Na realidade, neste exemplo específico, um "ORDER BY data DESC" daria na mesma... mas é só pra você saber da função DAYOFMONTH(). ;) []'s! Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Janeiro 25, 2006 Não perca tempo e altere já a estrutura da sua tabela. Vai te custar um tempo hoje, mas economizará muita dor de cabeça amanhã. Compartilhar este post Link para o post Compartilhar em outros sites