Jump to content


Photo

Noticias Ordenadas Por Datas, Sucessivamente Criando Uma "categor


  • Faça o login para participar
1 reply to this topic

#1 RicardoPedrosa

RicardoPedrosa

    Novato no fórum

  • Usuários
  • 12 posts
  • Sexo:Não informado

Posted 29/06/2007, 15:24

Boa tarde..

Obs comunicado interno:
Pode falar.. quando ses viram o título "notícias..." ses já sabiam que era eu rs.. :P

To eu aqui de novo dessa vez muito mais atencioso.


Estou criando um sistema de noticias para meu site.

Só que eu quero fazer o seguinte. Reunir numa página só, todas as notícias, ordenadas por páginas e talz..

Até ai to bem...


O problema é que eu gostaria de fazer algo parecido como o deste site http://www.plugmaste...om.br/noticias/


Na organização eles fizeram o seguinte


Quando vem uma notícia do dia 29 por exemplo.


Cria automaticamente um (linha)célula com a data, e embaixo vem a notícia. Exemplo:

29/06/2007 - Ele cria essa linha e depois vem as notícias.
» 11h57 Comissão Européia adere aos vídeos na web e lança EuTube
» 11h36 Vivo e TIM disputam vinda de iPhone para o Brasil
» 09h58 Apple inova ao unir MP3, telefone, câmera e internet
» 09h48 Bate-papo no MSN entre funcionários da Justiça sai no "Diário Oficial" de SP
» 08h15 Cadela "mochileira" recebe chip para viajar; veja mascotes
» 08h01 Novo serviço da Folha Online publica fotos e notícias de leitores



Pois bem.. Como eu faço para inserir essa funcionalidade no meu atual sistema de notícias


Estou colocando o meu atual código

//Exibindo notícias
<?php 
require("includes/config.php");
require("includes/noticias_funcao.php");
//Conectar MySql
$conexao = @mysql_connect($host, $user, $pass);
if(!$conexao){
die("Impossível conectar-se ao mysql...");
}
//Selecionar BD
if(! @mysql_select_db($db)){
die("Impossível conectar-se com o banco de dados: " . $db . '<br>');
}
//Mostra todas as notícias inseridas no banco de dados e organiza em ordem
//decrescente com relação a hora de criação
$resultado = mysql_query("SELECT ID, titulo, data, tempo FROM $tabela_noticias ORDER BY tempo DESC");
if(!$resultado){
die("Erro na solicitação de query: " . mysql_error() . '<br>');
}
echo('<table width="100%" border="0" cellspacing="0" cellpadding="0">
');
//Verifica se há alguma noticia amazenada no banco de dados
if(mysql_num_rows($resultado) == 0){
echo("<tr><td align=\"center\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" color=\"#FF0000\" size=\"2\">Atenção! Não há notícias no banco de dados " . $db . '<br></font></td></tr>');
} else {
// Função para corrigir caracteres, para não afetar o layout
define("TRUNC_BEFORE_LENGHT", 0);
define("TRUNC_AFTER_LENGHT", 1);
function str_truncate($str, $length, $rep=TRUNC_BEFORE_LENGHT)
{
	if(strlen($str)<=$length) return $str;
	if($rep == TRUNC_BEFORE_LENGHT) $oc = strrpos(substr($str,0,$length),' ');
	if($rep == TRUNC_AFTER_LENGHT)	$oc = strpos(substr($str,$length),' ') + $length;
	return substr($str, 0, $oc);
}
//Realiza um loop atrás das informações inseridas na tabela
while($row = mysql_fetch_array($resultado)){
$id = $row['ID'];
$titulo = $row['titulo'];
$data = $row['data'];
$tempo = $row['tempo'];
echo('
<tr>
  <td width="1%" align="left" valign="middle"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000"><b><img src="img/icone_noticias.gif" width="13" height="15"></b></font></td>
  <td width="99%" align="left" valign="middle"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#C02006"><b> ' . formatData($data) . ' - </b><a class="titulo" href="noticias.php?id=' . $id . '">' . str_truncate(htmlentities($titulo), 90, TRUNC_AFTER_LENGHT)  . '..</a></font></td>
</tr>
');
}
}
echo("  
</table>
");
//Fecha a conexao com o Mysql
mysql_close($conexao);
?>


#2 ccgdbz1

ccgdbz1

    12 Horas

  • Usuários
  • 182 posts
  • Sexo:Não informado
  • Localidade:Floripa - SC

Posted 29/06/2007, 16:04

usa um GROUP BY data
nao tem mistério
é questao de como tu vai montar o html pra exibir os dados
monta uma linha na tabela recebendo
data
e outra recebendo hora - titulo




0 user(s) are reading this topic

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

IPB Skin By Virteq