Ir para conteúdo
Fórum Script Brasil
  • 0

Formatar Dados Da Tabela


richenrique

Pergunta

Tenho uma tabela NOTICIA com os campos (id, titulo, data, hora, artigo, fonte) e gostaria de fazer um script de "ultimas noticias", dos ultimos 15 dias (por exemplo). Porém eu quero formatar os dados vindo da tabela deste jeito:

13/10/2004

15:08 - Notícia 1

20:13 - Notícia 2

21:07 - Notícia 3

22:58 - Notícia 4

22:48 - Notícia 5

12/10/2004

08:14 - Notícia 1

20:13 - Notícia 2

21:07 - Notícia 3

.... vai até o dia 28/09/2004 (ou seja, 15 dias antes da data atual)

como eu faço isto, já tentei fazer mas não tah saindo :-( alguém poderia me ajudar? A minha ideia inicial seria através de um for subtrair a data de um dia e realizar a consulta no mysql (select * from noticia where data='$data') a cada subtração...

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Tenta algo como isso:

functions.php

<?
<?php

/* Função voltadata() desenvolvida por Fabyo Guimarães */

function voltadata($dias,$datahoje){ 

  if (ereg ("([0-9]{1,2})/([0-9]{1,2})/([0-9]{4})", $datahoje, $sep)) { 
  $dia = $sep[1]; 
  $mes = $sep[2]; 
  $ano = $sep[3]; 
  } else { 
    echo "<b>Formato Inválido de Data - $datahoje</b><br>"; 
  } 

  if($mes == "01" || $mes == "02" || $mes == "04" || $mes == "06" || $mes == "08" || $mes == "09" || $mes == "11"){ 
    for ($cont = $dias; $cont > 0; $cont--){ 
    $dia--; 
      if($dia == 00){ // Volta o dia para dia 31 . 
      $dia = 31; 
      $mes = $mes -1; // Diminui um mês se o dia zerou . 
        if($mes == 00){ 
        $mes = 12; 
        $ano = $ano - 1; // Se for Janeiro e subtrair 1 , vai para o ano anterior no mês de dezembro. 
        } 
      } 
    } 
  } 

  if($mes == "05" || $mes == "07" || $mes == "10" || $mes == "12" ){ 
    for ($cont = $dias; $cont > 0; $cont--){ 
    $dia--; 
      if($dia == 00){ // Volta o dia para dia 30 . 
      $dia = 30; 
      $mes = $mes -1; // Diminui um mês se o dia zerou . 
      } 
    } 
  } 

  if($ano % 4 == 0 && $ano%100 != 0){ // se for bissexto 
    if($mes == "03" ){ 
      for ($cont = $dias; $cont > 0; $cont--){ 
      $dia--; 
        if($dia == 00){ // Volta o dia para dia 30 . 
        $dia = 29; 
        $mes = $mes -1; // Diminui um mês se o dia zerou . 
        } 
      } 
    } 
  }//fecha se bissexto... 
  else{ // se não for bissexto 
    if($mes == "03" ){ 
      for ($cont = $dias; $cont > 0; $cont--){ 
        $dia--; 
        if($dia == 00){ // Volta o dia para dia 30 . 
          $dia = 28; 
          $mes = $mes -1; // Diminui um mês se o dia zerou . 
        } 
      } 
    } 
  } 


  if(strlen($dia) == 1){$dia = "0".$dia;} 
  if(strlen($mes) == 1){$mes = "0".$mes;} 


  $resultado = "$dia/$mes/$ano"; 

return $resultado; 
}
?>
lista.php
<?

include "functions.php";
include "conn.php";

$ndias = 5; // Número de dias a serem mostrados

echo date("d/m/Y");
$query = "SELECT * FROM noticias WHERE data = '".date("d/m/Y")."'";
$result = mysql_query($query);
while($row=mysql_fetch_array($result)) {
    echo "<br>" . $row['hora'] . "- " . $row['Noticia'];
}

for($i=1; $i<=$ndias; $i++) {
    echo voltadata($i, date("d/m/Y"));
    $query = "SELECT * FROM noticias WHERE data = '". voltadata($i, date("d/m/Y"))."'"; 
    $result = mysql_query($query);
    while($row=mysql_fetch_array($result)) {
        echo "<br>" . $row['hora'] . "- " . $row['Noticia'];
    }
}
?>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...