11closed 0 Denunciar post Postado Novembro 29, 2011 olá estou com um script que deve imprimir os próximos eventos, através das datas de inicios dos Eventos, mas o campo das datas é VARCHAR e são gravados nesse formato "00/00/0000". gostaria de uma forma de fazer um loop imprimindo as datas na ordem correta, sem que eu troque o campo de VARCHAR para DATE ou DATETIME. aguem sabe uma forma para criar esse script ? t+ Compartilhar este post Link para o post Compartilhar em outros sites
Leozitho 81 Denunciar post Postado Novembro 29, 2011 É impossível você ordenar uma data neste formato (dd/mm/aaaa) e ainda usando um campo do tipo VARCHAR. O tipo VARCHAR é considerado como uma string, então o máximo que você consegue ordenar usando este tipo de campo é por ordem alfabética, o que não serve no caso de datas. O correto realmente seria usar um campo do tipo DATE, que serve justamente para isso, armazenar datas. Compartilhar este post Link para o post Compartilhar em outros sites
Logan Martinelli 0 Denunciar post Postado Novembro 30, 2011 Tem como, mas você pode me explicar como quer ordenar, se é ordenação de hoje para amanhã, depois, etc... Ex: Hoje: 30/11/2011; Amanhã: 30/12/2011; Depois de amanhã: 30/13/2011; Etc... E as datas do próximo mes vai ficar na frente das datas deste mês É isso? Compartilhar este post Link para o post Compartilhar em outros sites
cassiano óliver 1 Denunciar post Postado Novembro 30, 2011 Tente usar isto: STR_TO_DATE Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Novembro 30, 2011 olá Logan Martinelli Ex: se eu crio um While para buscar as datas do BD, vamos supor que ache 3 datas. se eu apenas colocar ORDER BY vai buscar assim 1º - 01/01/2013 2º - 02/02/2012 3º - 30/11/2011 certo. gostaria de um script que ordenasse as datas nessa ordem: 1º - 30/11/2011 2º - 02/02/2012 3º - 01/01/2013 cassiano óliver, poderia me mostra um exemplo do script que eu deveria fazer ? t+ Compartilhar este post Link para o post Compartilhar em outros sites
Logan Martinelli 0 Denunciar post Postado Novembro 30, 2011 Amigo, você não cria while para buscar datas do BD, while é para mostrar todos os resultados encontrados, se não apenas exibirá o primeiro. Busque assim; Suposta Tabela: datas Suposto campo de data: dat $q=mysql_query("SELECT * FROM `datas` ORDER BY `dat` ASC"); while($fetch=mysql_fetch_array($q)): $data=$fetch['dat']; $datas .='<div id="data"> '. $data .' </div>'; endwhile; echo $datas; Deve resolver, mas existe outros meios. Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Novembro 30, 2011 olha Logan usei o codigo q você me indicou, ele mostrou nessa ordem 01/01/2012 01/11/2011 01/11/2011 02/01/2012 o correto seria mostrar nessa ordem 01/11/2011 01/11/2011 01/01/2012 02/01/2012 entendeu ? Compartilhar este post Link para o post Compartilhar em outros sites
JCMPJ 0 Denunciar post Postado Novembro 30, 2011 Isso é burrice!! Pra que reinventar a roda?? Troca o tipo do campo e pronto! Compartilhar este post Link para o post Compartilhar em outros sites
Logan Martinelli 0 Denunciar post Postado Novembro 30, 2011 Aquela ordem é para ordenar por dia do mes é por isso Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Dezembro 1, 2011 ok, obrigado a todos pelas as dicas Eu achei q tinha uma maneira para fazer isso sem ter que trocar todas as datas do meu BD, mas vai ser o jeito msm. vlw t+ Compartilhar este post Link para o post Compartilhar em outros sites
Logan Martinelli 0 Denunciar post Postado Dezembro 1, 2011 Eu achei q tinha uma maneira para fazer isso sem ter que trocar todas as datas do meu BD, mas vai ser o jeito msm. Não é trocar todas as datas é mudar o tipo de campo com um click Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Dezembro 1, 2011 sim eu sei logan: mas aki no meu site eu estava tratando todas as datas como varchar vou manter um padrão e trocar todas para DATE, certo obrigado.. Compartilhar este post Link para o post Compartilhar em outros sites