Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola estou tentando utilizar este código, e o que estou obtendo seria logo apos a linha
<?
$sql = mysql_query("select * from tb_noticias order by data desc");
$totalconsulta = mysql_num_rows($sql);
$ultimadata = "";
for ($i=0;$i<$totalconsulta;$i++)
{
$data = mysql_result($sql,$i,"data");
if ($data != $ultimadata) {
echo $data ."<br>". $titulo."<br>";
} else {
echo $titulo."<br>";
}
$ultimadata = mysql_result($sql,$i,"data");
}
?>
_Resultado apartir do codicgo em questao___
2014-01-19 14:23:24
Noticia um
2014-01-19 10:26:31
Noticia um
Noticia um
2014-01-07 11:01:46
____________________________
Gostaria de que a postagem ficasse assim
19-01-2014
14:23 - Noticia um
07-01-2014
11:01 - Noticia dois
11:01 - Noticia Três
Estrutura da minha tabela
-- Estrutura da tabela tb_noticias
--
CREATE TABLE `tb_noticias` (
`id` int(5) NOT NULL auto_increment,
`id_cat` char(4) NOT NULL,
`prioridade` varchar(25) NOT NULL,
`data` datetime NOT NULL default '0000-00-00 00:00:00',
`data2` datetime NOT NULL default '0000-00-00 00:00:00',
`titulo` text NOT NULL,
`creditos_fotos` varchar(255) NOT NULL default '',
`texto` text NOT NULL,
`foto` varchar(255) default NULL,
`fotos_extras` enum('S','N') NOT NULL default 'N',
`alinhamento_foto` enum('L','R') NOT NULL default 'L',
`largura_foto` char(3) NOT NULL default '250',
`altura_foto` char(3) NOT NULL default '',
`status` enum('S','N') NOT NULL default 'S',
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=130 ;
--
Como poderia fazer isso?
Obrigado!
A Gradeço a ajuda, mas não é o formato que eu gostaria de alterar talvez tenha me expressado mal
o que esta acontecendo é isto aqui o resultado da consulta é sempre o mesmo título.
se alguém puder me dar um conselho a qual code utilizar agradeço desde ja.
2014-01-19 14:23:24
Noticia Repete o mesmo titulo
2014-01-19 10:26:31
Noticia Repete o mesmo titulo
Noticia Repete o mesmo titulo
2014-01-07 11:01:46
Noticia Repete o mesmo titulo
Noticia Repete o mesmo titulo
Noticia Repete o mesmo titulo
Noticia Repete o mesmo titulo
>
code php utilizado
<?
$sql = mysql_query("select * from tb_noticias order by data desc");
$totalconsulta = mysql_num_rows($sql);
$ultimadata = "";
for ($i=0;$i<$totalconsulta;$i++)
{
$data = mysql_result($sql,$i,"data");
if ($data != $ultimadata) {
echo $data ."<br>". $titulo."<br>";
} else {
echo $titulo."<br>";
}
$ultimadata = mysql_result($sql,$i,"data");
}
?>E de onde vem a variável $titulo? Experimente assim:
<?
$sql = mysql_query("select * from tb_noticias order by data desc");
$totalconsulta = mysql_num_rows($sql);
$ultimadata = "";
for ($i=0;$i<$totalconsulta;$i++)
{
$data = mysql_result($sql,$i,"data");
$titulo = mysql_result($sql, $i, "titulo");
if ($data != $ultimadata) {
echo $data ."<br>". $titulo."<br>";
} else {
echo $titulo."<br>";
}
$ultimadata = mysql_result($sql,$i,"data");
}
?>
Ou assim:
<?php
$sql = mysql_query("select * from tb_noticias order by data desc");
$totalconsulta = mysql_num_rows($sql);
if ( $totalconsulta > 0 ) {
$datas = array();
while( $result = mysql_fetch_array( $sql ) ) {
if ( !in_array( $result['data'], $datas ) )
{
$datas[] = $result['data'];
echo $result['data'] . '<br>' . $result['titulo'];
} else {
echo $result['titulo'] . "<br>";
}
}
}Em recente pesquisas cheguei a este novo código, usar um alias para referir a uma coluna no GROUP BY
>
<br>ÚLTIMAS NOTÍCIAS<br>
<?
$query = "SELECT tb_noticias.*,DATE_FORMAT(data,'%d/%m/%Y') AS dataBR, (data) FROM tb_noticias GROUP BY data ORDER BY id DESC LIMIT 10";
$result = mysql_query($query) ;$data = $row['dataBR'];
$titulo = $row['titulo'];
echo"<p style='border-bottom:1px solid #e5e5e5; padding-bottom:5px'> </p>";
echo"<br>$data </br>";
echo"<br>$titulo </br>";
}
?>echo"<p style='border-bottom:1px solid #e5e5e5; padding-bottom:5px'> </p>";
echo"<br>Todas as notícias<br>";
mas ainda não deu resultado esperado pois acho que falta algo. segue abaixo o resultado
19/01/2014
testestetsetsetsetsetset
07/01/2014
Incríveis armas construídas por presidiários
29/12/2013
testar noticia
25/12/2013
Sobe para 18 o número de mortos pelas chuvas no Espírito Santo
25/12/2013
Em fotos: incríveis decorações natalinas ao redor do mundo
25/12/2013
Por Sabrina, Record cancela nova atração
25/12/2013
Homem é preso após ser flagrado roubando loja de roupas usadas
25/12/2013
Hackers da Target roubaram PINs bancários--fonte
25/12/2013
Ebserh realizará concurso para o Hospital Universitário da Grande Dourados (MS)
gostaria que o resultado fosse assim como na tab abaixo
19/01/2014
testestetsetsetsetsetset
07/01/2014
Incríveis armas construídas por presidiários
29/12/2013
testar noticia
25/12/2013
Sobe para 18 o número de mortos pelas chuvas no Espírito Santo
Em fotos: incríveis decorações natalinas ao redor do mundo
Por Sabrina, Record cancela nova atração
Homem é preso após ser flagrado roubando loja de roupas usadas
Hackers da Target roubaram PINs bancários--fonte
Ebserh realizará concurso para o Hospital Universitário da Grande Dourados (MS)
Agradeço desde ja.
<br>ÚLTIMAS NOTÍCIAS<br>
<?
$query = "SELECT tb_noticias.*,DATE_FORMAT(data,'%d/%m/%Y') AS dataBR, (data) FROM tb_noticias GROUP BY data ORDER BY id DESC LIMIT 10";
$result = mysql_query($query) ;
while ($row = mysql_fetch_assoc($result)){
$data = $row['dataBR'];
$titulo = $row['titulo'];
$ultimadata = '';
echo"<p style='border-bottom:1px solid #e5e5e5; padding-bottom:5px'> </p>";
if($ultimadata != $data){
$ultimadata = $data;
echo"<br>$data </br>";
}
echo"<br>$titulo </br>";
}
?>
<?
echo"<p style='border-bottom:1px solid #e5e5e5; padding-bottom:5px'> </p>";
echo"<br>Todas as notícias<br>";Galera Consegui to postando código mas não vou encerrar o tópico pois tenho Três questões vou coloca o resultado
1° Alguém sabe como ocultar o segundos do script que vou postar logo abaixo.
2° Não consegui colocar a função str_replace(" ","_", no meu link, mas ele ta funcionando.
3° Eu coloquei esta função setlocale(LC_ALL, "pt_BR", "ptb"); para traduzir a data para português mas não foi dai deixei em formato numerico tambem tentei traduzir conforme este tutorial deste link daqui do forum <http://imasters.com.br/artigo/3862/php/definindo-informacoes-locais-com-setlocale/>. e tambem nao consegui alguma ideia ou sugestao?
Esperava a data desta forma '%d de %F de %Y'
29 de dezembro de 2013, mas não tive sucesso então deixei numérico
29/12/2013
18:45:30 -
testar noticia
25/12/2013
14:13:30 -
Sobe para 18 o número de mortos pelas chuvas no Espírito Santo
13:26:12 -
Em fotos: incríveis decorações natalinas ao redor do mundo
Código noticias separada por data
<?
$sql = mysql_query("SELECT tb_noticias.*,DATE_FORMAT(data,' %d/%m/%Y') AS dataBR, (data) FROM tb_noticias GROUP BY data ORDER BY id DESC LIMIT 20");
$totalconsulta = mysql_num_rows($sql);
$ultimadata = "";
for ($i=0;$i<$totalconsulta;$i++)
{
$data = mysql_result($sql,$i,"dataBR");
$titulo = mysql_result($sql, $i, "titulo");
$id = mysql_result($sql, $i, "id");
$data2 = mysql_result($sql, $i, "data2");
if ($data != $ultimadata) {
echo"<p style='border-bottom:1px solid #e5e5e5; padding-bottom:5px'> </p>";
echo"<font color='#000' size='1' face='Verdana, Arial'><b>";
echo "<p> $data </p><table width='440' border='0' cellpadding='0' cellspacing='0'>
<tr>
<td width='0'><font color='#000' size='1' face='helvetica, freesans, sans-serif, helvetica'>$data2 - </td>
<td width='600'><font color='#000' size='1' face='helvetica, freesans, sans-serif, helvetica'><a href='/noticia/$id/$titulo.html' class='link' ><font color='#000' size='1' face='Verdana, Arial'></b></font><p>$titulo</p></td>
</tr>
</table>";
} else {
echo "<br><table width='600' border='0' cellpadding='0' cellspacing='0'>
<tr>
<td width='0'><font color='#000' size='1' face='helvetica, freesans, sans-serif, helvetica'>$data2 - </td>
<td width='600'><font color='#000' size='1' face='Verdana, Arial'><a href='/noticia/$id/$titulo.html' class='link' > <font color='#3399CC' size='1' face='Verdana, Arial'></b></font><p>$titulo<p></td>
</tr>
</table>";
}
$ultimadata = mysql_result($sql,$i,"dataBR");
}
echo"<p style='border-bottom:1px solid #e5e5e5; padding-bottom:5px'> </p>";
echo"<a href='ver_noticias.html' class='link'> <strong></strong><br>Todas as notícias<br>";
echo"<p>";
?>
Agradeço a todos desde já. Meu Obrigado.
dá uma estudada em DATE_FORMAT() é uma função nativa do MySQL