Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, montei uma página de listagem, e preciso que o usuário logado veja a tabela ORDENADA PELA DATA ATUAL, por exemplo se ele logar hoje dia 23/02/2017, ele deve ver os registros da tabela mais atuais, por exemplo os com data de vencimento para o dia 23/02/2017 primeiro, e em seguida os do dia 24,25,26, e assim sucessivamente.
Desenvolvi uma parte do código, mas não sei como implementar esse order no comando SQL:
<?php
include "conexao.php";
include "executaSQL.php";
$link=conectar();
$hoje = date("Y-m-d");
$busca_query = mysql_query("SELECT tbl_publicacao.cod_publicacao, tbl_publicacao.publicacao, tbl_publicacao.data_vencimento, tbl_publicacao.status , tbl_publicacao.valor, tbl_publicacao.arquivo, tbl_empresa.razao_social FROM tbl_publicacao, tbl_empresa WHERE tbl_publicacao.fk_empresa = tbl_empresa.cod_empresa AND tbl_publicacao.categoria = 4")or die(mysql_error());
?>>
19 minutos atrás, Motta disse:
Tente
Order by datediff(data_vencimento,now())
Não é o que eu queria, ele mostra as primeiras do ano, tipo de janeiro, aí fevereiro, e não as com data de vencimento de hoje.
Order by abs( (day(data_vencimento) - day(now()) )
Você pode tentar algo com o NOT BETWEEN
se entendi bem, supondo que a coluna é do tipo data, tente isso:
select * from tabela where
data_vencimento >= curdate()
order by data_vencimento
>
16 minutos atrás, Motta disse:
Order by abs( (day(data_vencimento) - day(now()) )
Esse também não deu certo @Motta: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1
>
14 minutos atrás, Fernando C disse:
se entendi bem, supondo que a coluna é do tipo data, tente isso:
select * from tabela where
data_vencimento >= curdate()
order by data_vencimento
E o seu @Fernando C funcionou só que como eu faria com o meu select? Eu já tenho clausula where e eu não posso mexer nelas, tem como colocar um AND ou algo do genero
>
1 hora atrás, Saul da Silva Rolim disse:
<?php include "conexao.php"; include "executaSQL.php"; $link=conectar(); $hoje = date("Y-m-d"); $busca_query = mysql_query("SELECT tbl_publicacao.cod_publicacao, tbl_publicacao.publicacao, tbl_publicacao.data_vencimento, tbl_publicacao.status , tbl_publicacao.valor, tbl_publicacao.arquivo, tbl_empresa.razao_social FROM tbl_publicacao, tbl_empresa WHERE tbl_publicacao.fk_empresa = tbl_empresa.cod_empresa AND tbl_publicacao.categoria = 4")or die(mysql_error()); ?>Order by abs( (day(data_vencimento) - day(now())) )
Acho que faltou um parentese.
<?php include "conexao.php"; include "executaSQL.php"; $link=conectar(); $hoje = date("Y-m-d");$busca_query = mysql_query("SELECT tbl_publicacao.cod_publicacao, tbl_publicacao.publicacao, tbl_publicacao.data_vencimento, tbl_publicacao.status , tbl_publicacao.valor, tbl_publicacao.arquivo, tbl_empresa.razao_social FROM tbl_publicacao, tbl_empresa WHERE tbl_publicacao.fk_empresa = tbl_empresa.cod_empresa AND tbl_publicacao.categoria = 4 order by tbl_publicacao.data_vencimento desc")or die(mysql_error()); ?>
Tente
Order by datediff(data_vencimento,now())