squid 0 Denunciar post Postado Fevereiro 14, 2005 Ae pessoalE aí, pessoal.Preciso pegar a data e hora do sistema, a função q estou usando esta pegando, mas tenho q listar determinado item de acordo coma data e hora, tipo mostrar somente se o dia e hora de hoje e superior ao dia e hora do q tenho q listar, o problema é q se tenho um item com o dia superior mas a hora inferior ele lista, já q a hora e inferior a do sistema.Já usei date e getime.Alguem pod me ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
Tash 5 Denunciar post Postado Fevereiro 14, 2005 você está usando MySQL? porque é diferente o tratamento de datas com MySQL e PHP Compartilhar este post Link para o post Compartilhar em outros sites
squid 0 Denunciar post Postado Fevereiro 14, 2005 sim,estou usnado MySQL Compartilhar este post Link para o post Compartilhar em outros sites
Tash 5 Denunciar post Postado Fevereiro 14, 2005 então você tem que usar o campo específico pra data do MySQL, acho que é o formato DATETIME, e usa a cláusula ORDER BY `nome_do_campo` para ordenar na hora de exibir. Compartilhar este post Link para o post Compartilhar em outros sites
squid 0 Denunciar post Postado Fevereiro 15, 2005 Apesar daquele baita texto não sei se me expliquei direito, preciso fazer um controle para exibir determinado dado, apenas se a hora e data forem inferior a data e hora atual.não consigo fazer um controle dos dois juntos, estou fazendo o seguinte teste:$data_atual = date('Y/m/d');$hora_atual = date("H:i:s");$strQuery = "SELECT * FROM tbl WHERE dado_abertura < '$data_atual'";se ponho: and dado_hora < '$hora_atual'ele mostra um item q esta com a hora inferior a data atual, mas q a data ainda não passou.Alguém pode me ajudar, por favor? Compartilhar este post Link para o post Compartilhar em outros sites
dnfeitosa 0 Denunciar post Postado Fevereiro 16, 2005 $strQuery = "SELECT * FROM tbl WHERE dado_abertura < NOW()"; Compartilhar este post Link para o post Compartilhar em outros sites
squid 0 Denunciar post Postado Fevereiro 16, 2005 Po, desculpa mas não consegui entender.Os campos la no banco estao gravados separadamente. Compartilhar este post Link para o post Compartilhar em outros sites
dnfeitosa 0 Denunciar post Postado Fevereiro 16, 2005 Bom, por coincidencia eu to montando um sistema parecido com o seu :D você pode usar o AND pra poder filtrar mais precisamente, por exemplo, no sistema que eu to montando eu to usando o seguinte:SELECT * FROM tabela WHERE tabela.data <= CURDATE() AND tabela.hora < SUBTIME(NOW(), '00:30:00')aqui ele vai listar todos os registros em que a data seja menor ou igual à data de hoje e que tiverem a hora menor que a data atualentao ai ja elimina de puxar os outros registros que tenham a data acima da atual e filtra os registros com a hora que eu precisoé facil!! :P se nao entender, nao hesite em perguntar!! Compartilhar este post Link para o post Compartilhar em outros sites
squid 0 Denunciar post Postado Fevereiro 16, 2005 Bah você vai quere me matar, mas pode me explicar estas funções q você esta usando. Compartilhar este post Link para o post Compartilhar em outros sites
dnfeitosa 0 Denunciar post Postado Fevereiro 16, 2005 Explico sim!! :P Bom primeiramente eu recomendaria que você usasse MySQL 4.1.1 ou maior porque foi a partir dessa versão que as funções de data e hora foram aprimoradas e você pode fazer adição e subtração de datas, horas e períodos... Certo, vamos lá: - CURDATE() pega a data atual; Ex: SELECT CURDATE(); -> '2005-02-16' - NOW() pega a hora atual - SUBTIME('expr1', 'expr2') subtrai o valor da expr1 pelo valor de expr2; Ex: SELECT SUBTIME('12:00:00', '00:30:00'); -> '11:30:00' o meu select é o seguinte: SELECT * FROM tabela WHERE tabela.data <= CURDATE() AND tabela.hora < SUBTIME(NOW(), '00:30:00') azul: seleciona todos os registros que forem menores ou iguais à data atual, por exemplo, hoje é dia 2005-02-16, então ele não vai puxar os registros que tem a data de amanhã ou dos dias superiores vermelho: seleciona todos os registros que tiverem a hora 30 minutos a menos que a hora atual, por exemplo, agora é exatamente 12:00:00, então é listado somente os registros que tiverem a hora menor que 11:30:00... se no registro tiver 11:30:01 ele já não mostra. então... SELECT * FROM tabela WHERE dados do campo data são menores ou iguais que a data atual E dados do campo hora são menores que a hora atual, menos 30 minutos Bom, se não entender qualquer parte, é só perguntar!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
squid 0 Denunciar post Postado Fevereiro 16, 2005 olha só da o seguinte erro:You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(NOW(), '00:30:00')' at line 1 as outras funçoes q eu esta usando, como date e getdate esta pegando. Compartilhar este post Link para o post Compartilhar em outros sites
squid 0 Denunciar post Postado Fevereiro 16, 2005 Desculpa, mas você não sabe como fazer com uma função do php, pq o mysql deles acho q e uma versão menor da que você falou. Compartilhar este post Link para o post Compartilhar em outros sites
guma 0 Denunciar post Postado Fevereiro 16, 2005 E ai velho nao sei se pode te ajudar a resolver teu problema mais vamos la PHP [/tr][tr]<?$datatual = date("Y"); $sql="select * from curriculo where date_format(data_DB,'%Y') LIKE '$datatual' order by nome"; $sql_res = mysql_query($sql,$conexao) or die ("Não foi possível executar a consulta por Idade ."); //No meu exemplo assim ele compara se o ano é igual ao do banco ?>[/tr] PHP [/tr][tr]<?$datatual = date("Y"); $sql="select * from curriculo where date_format(data_DB,'%Y') < '$datatual' order by nome"; $sql_res = mysql_query($sql,$conexao) or die ("Não foi possível executar a consulta por Idade ."); //No meu exemplo assim ele compara se o ano é Menor ao do banco ?>[/tr] Na minha opinão deve ser por ai nao sei acho que para a hora deve ser a mesma coisa Flw Compartilhar este post Link para o post Compartilhar em outros sites
Renan Andrade 0 Denunciar post Postado Maio 19, 2008 To precisando de um esquema parecido, preciso fazer um select de um registro (video) que tem hora inicial e hora final, o select desse video só devera ser feito quando a hora atual estiver entre a hora inicial e hora final como fazer isso ? Compartilhar este post Link para o post Compartilhar em outros sites