Jump to content


Photo

Ordenar Por Data


  • Faça o login para participar
4 replies to this topic

#1 bcardoso

bcardoso

    Normal

  • Usuários
  • 70 posts
  • Sexo:Masculino
  • Localidade:Niterói

Posted 06/05/2010, 20:16

Pessoal, já fiz de tudo e não consigo ajustar isso.

Preciso que as datas sejam ordenadas da última para primeira, ou seja, última notícia será a primeira da fila.

Segue o código que estou usando.

<?

//include_once('Connections/saloon.php');

header('Content-Type: text/html; charset=utf-8');

$conn = @mysql_connect("mysql02.salaopedropaulo.com.br", "salaopedropaulo1","ppleblon");
$db = @mysql_select_db("salaopedropaulo1", $conn);
# Aqui está o segredo
mysql_query("SET NAMES 'utf8'");
mysql_query('SET character_set_connection=utf8');
mysql_query('SET character_set_client=utf8');
mysql_query('SET character_set_results=utf8');

$sql = "SELECT * FROM `imprensa` ORDER BY `id` DESC";
$res = mysql_query($sql,$conn);
$rst = mysql_num_rows($res);

for($i=0;$i<$rst;$i++){
$texto .= ' <I>'.mysql_result($res,$i,'data').'</I><br>';
$texto .= ' <B><biline>'.mysql_result($res,$i,'titulo').'</biline></B><br>';
$texto .= ' <mainBody>'.mysql_result($res,$i,'texto').'</mainBody><br><br>';
}

print $texto;

?>

Obrigado a todos
--------------------------------------
Bruno Cardoso
Publicitário e Webdesign Freela

#2 André Manoel

André Manoel

    Doutor

  • Usuários
  • 996 posts
  • Sexo:Masculino
  • Localidade:Brasilia

Posted 07/05/2010, 09:24

Você poderia ao invés de usar o ID para ordenação... você pode usar o campo data da notícia...

$sql = "SELECT * FROM imprensa ORDER BY id DESC";

Substitua essa consulta pela data de criação, ou publicação... enfim de acordo com a data que vc estiver usando..
Exemplo:

$sql = "SELECT * FROM imprensa ORDER BY data_inicio DESC";

Iniciando na Ajuda On line...

Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.

#3 bcardoso

bcardoso

    Normal

  • Usuários
  • 70 posts
  • Sexo:Masculino
  • Localidade:Niterói

Posted 09/05/2010, 15:04

Oi Andre, obrigado pela atenção!

Vou tentar faazer essa alteração. O que acontece é que ela ordena por data certinho, mas se por exemplo hoje são 9 de maio, se eu quiser colocar uma data 5 de maio, ela não vai ficar na ordem, e sim na ordem que foi inserida. Entendeu ou compliquei?

Abraço
--------------------------------------
Bruno Cardoso
Publicitário e Webdesign Freela

#4 André Manoel

André Manoel

    Doutor

  • Usuários
  • 996 posts
  • Sexo:Masculino
  • Localidade:Brasilia

Posted 10/05/2010, 09:34

Entãooo ...
Vamos supor que você inseriu o da data 9 de maio ontem... e o ID deste registro é 35.
Se o seu banco tiver o ID com o atributo AUTO INCREMENT (Que pela situação eu vejo que está)
O registro que você inserir hoje com a data de 5 de maio irá ter o id 36.

Como você está realizando o SELECT pelo ID então o último será o primeiro.
Você precisa realizar o ORDER BY pelo campo DATA e não pelo campo ID...

Entendeste?
Iniciando na Ajuda On line...

Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.

#5 bcardoso

bcardoso

    Normal

  • Usuários
  • 70 posts
  • Sexo:Masculino
  • Localidade:Niterói

Posted 12/05/2010, 12:03

Grande André,

Vou tentar fazer isso logo mais (ver se entendi) ai coloco o resultado aqui.
Obrigado mais uma vez


Entãooo ...
Vamos supor que você inseriu o da data 9 de maio ontem... e o ID deste registro é 35.
Se o seu banco tiver o ID com o atributo AUTO INCREMENT (Que pela situação eu vejo que está)
O registro que você inserir hoje com a data de 5 de maio irá ter o id 36.

Como você está realizando o SELECT pelo ID então o último será o primeiro.
Você precisa realizar o ORDER BY pelo campo DATA e não pelo campo ID...

Entendeste?


--------------------------------------
Bruno Cardoso
Publicitário e Webdesign Freela




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq