wendel 0 Denunciar post Postado Dezembro 12, 2006 Boa noite, amogos Estou com um probleminha... Instalei o um sistema de notícias (Supernews) e quando adiciono notícias as novas fica por baixo das velhas. Deveria ser ao contrário, as novas ficando por cima...rsrsrs Se alguém puder dar uma olhada: http://www.ideiabr.com/news/admin/adm_noticias.php Login: admin Senha: 12345 Abração Compartilhar este post Link para o post Compartilhar em outros sites
gmps 0 Denunciar post Postado Dezembro 12, 2006 bom..em algum lugar deve estar fazendo um select por DATA ou ID, veja no codigo se tem esse select, ele deve estar por ex: select * from noticias order by id ASC ou order by data ASC, mude o ASC pra DESC...[]´z Compartilhar este post Link para o post Compartilhar em outros sites
wendel 0 Denunciar post Postado Dezembro 12, 2006 Oi, relamente existe isso aí, e ela esta com o DESC, porém, quando coloca a notícia não opção para data e hora e fica assim depois de publicada: 00 de de 0000 - 00h00min Como que ele irá colocar na ordem se a data e hora são zeros? O que fazer para mostrar a data e a hora? o código: <? if(!isset($noticia)){ ?> <font size="1" face="Verdana, Arial, Helvetica, sans-serif">Últimas Notícias...</font><br> <hr width="100%" color="#CCCCCC"> <?php //Mostra todas as notícias inseridas no banco de dados e organiza em ordem //decrescente com relação a hora de criação com um limite de 5 noticias por consulta $resultado = mysql_query('SELECT ID, titulo, data FROM supernews ORDER BY data DESC LIMIT 0, 5'); if(!$resultado){ die("Erro na solicitação de query: " . mysql_error() . '<br>');} //Verifica se há alguma noticia amazenada no banco de dados if(mysql_num_rows($resultado) == 0){ ?> <font face="Verdana, Arial, Helvetica, sans-serif" color="#FF0000" size="1">Atenção! Não há notícias no banco de dados.</font><br> <?php } else { //Realiza um loop atrás das informações inseridas na tabela supernews while($row = mysql_fetch_array($resultado)){ $id = $row['ID']; $titulo = $row['titulo']; $data = $row['data']; print('<p><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000"><b>' . formatData($data) . '</b><img src="time.gif" width="15" height="14" alt="" border=0><br><a class="titulo" href="?noticia=' . $id . '&titulo=' . $titulo . '">' . htmlentities($titulo) . '</a></font></p>'); } } //Busca pela noticia com referencia ao $id selecionado }elseif(isset($noticia)){ $id = $noticia; $resultado = mysql_query("SELECT * FROM supernews WHERE ID=$id"); if(!$resultado){ die("Impossível visualizar esta notícia: " . mysql_error() . '<br>'); } //Realiza um loop atrás das informações inseridas na tabela supernews while($row = mysql_fetch_array($resultado)){ $diretorio = $row['diretorio']; $largura = $row['largura']; $altura = $row['altura']; $titulo = $row['titulo']; $conteudo = $row['conteudo']; $data = $row['data']; ?> <table width="100%" align="center" border="0" cellpadding="0" cellspacing="0"> <tr> <td><font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><b><?php print(htmlentities($titulo)); ?></b></font><br> <hr color="#000000"> </td> </tr> <tr> <td><font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="1"><b><?php print(formatData($data)); ?></b></font><br> <hr color="#CCCCCC"> </td> </tr> <tr> <td> <?php if($diretorio == ""){ //se o diretorio for igual a vazia isso significa que é uma noticia sem imagem e mostra so a noticia ?> <p align="left"><font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><?php print(nl2br(htmlentities($conteudo))); ?></font></p> <?php } else { //caso contrario mostra a noticia com a imagem ?> <img src="admin/<?= $diretorio; ?>" width="<?= $largura; ?>" height="<?= $altura; ?>" align="left" border="1"><font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><?php print(nl2br(htmlentities($conteudo))); ?></font></p> <?php } ?> </td> </tr> <tr> <td><hr color="#CCCCCC"></td> </tr> <tr> <td><div align="center"><a class="links" href="java script:self.print()" onMouseOver="window.status='Imprimir'; return true">Imprimir</a> | <a class="links" href="index.php" target="_self">Painel de Notícias</a> | <a class="links" href="#top">Topo</a></div></td> </tr> <tr> <td><hr color="#000000"></td> </tr> </table> <?php } ?> <br> <font size="1" face="Verdana, Arial, Helvetica, sans-serif">+ Notícias...</font><br> <hr width="100%" color="#CCCCCC"> <?php //aproveita a conexao aberta para mostra as noticias diferentes da que a pessoa está lendo $resultado1 = mysql_query("SELECT * FROM supernews WHERE ID<>$id ORDER BY data DESC LIMIT 0, 5"); if(!$resultado1){ die("Impossível visualizar esta notícia: " . mysql_error() . '<br>'); } if(mysql_num_rows($resultado1) == 0){ ?> <font face="Verdana, Arial, Helvetica, sans-serif" color="#FF0000" size="1">Adicione mais notícias.</font><br> <?php } else { //Realiza um loop atrás das noticias inseridas na tabela supernews while($row = mysql_fetch_array($resultado1)){ $id = $row['ID']; $titulo = $row['titulo']; print('<font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000"><a class="titulo" href="?noticia=' . $id . '&titulo=' . $titulo . '">» ' . htmlentities($titulo) . '</a></font><br>'); } } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
novato_PHP 0 Denunciar post Postado Dezembro 12, 2006 Olha num tenho muita certeza nao... mais se ao invés de você ordenar pela data você ordenar pelo ID...... Por exemplo $resultado = mysql_query('SELECT ID, titulo, data FROM supernews ORDER BY ID DESC LIMIT 0, 5'); e ai coloca o atributo ORDER BY ID DESC... Cada notiica cadastrada recebe um ID certo.... por exemplo cadastrou uma noticia agora recebe id =1 ,segunda noticia id=2 na hora da mostra você pede para mostrar em ordem decrescente.... ve ai... Compartilhar este post Link para o post Compartilhar em outros sites
wendel 0 Denunciar post Postado Dezembro 12, 2006 Olá, Novato_PHPFuncionou mesmo... Valeu!Agora, e a questão da data e hora? Note que ela aparece 00 de de 0000 - 00h00min e quando vou colocar a notícia não tem opção de data e nem hora. O que fazer para ela aparecer?Desde já, agredeço a forma (mais uma vez) Compartilhar este post Link para o post Compartilhar em outros sites
novato_PHP 0 Denunciar post Postado Dezembro 12, 2006 wendel,como você está gravando a dataposta ai o codigo da gravação da data e como esta está no BD qual o tipo de campo usado para armazenar a dataposta pra mim o arquivo arquivo funcao.php... Compartilhar este post Link para o post Compartilhar em outros sites
wendel 0 Denunciar post Postado Dezembro 12, 2006 Oi,no banco de dados é assim: (tabela)CREATE TABLE supernews( ID int(5) unsigned NOT NULL AUTO_INCREMENT, diretorio TEXT, largura TEXT, altura TEXT, titulo TEXT NOT NULL, conteudo TEXT NOT NULL, data DATETIME NOT NULL, PRIMARY KEY (ID) )"; E essa aqui é a página FUNÇÃO.PHP<?php//// funcao que realiza a conexao com o banco de dados ////function conexao_mysql($host,$user,$pass,$db_super_news){global $host, $user, $pass, $db_super_news;//verifica se as variaveis (host,user,pass,db_super_news) estao setadasif(isset($host) and isset($user) and isset($pass) and isset($db_super_news)){//realiza a conexao com o banco de dados$conexao = @mysql_connect($host, $user, $pass);//checa se a conexao foi bem sucedidaif(!$conexao){print("<font color='#FF0000'>Error!! Impossível conectar-se ao MYSQL.</font>");exit();}//verifica e seleciona o banco de dadosif(!@mysql_select_db($db_super_news, $conexao)){print("<font color='#FF0000'>Error!! Impossível selecionar o banco de dados $db_super_news" . mysql_error() . '</font>');exit();}}else{print("<font color='#FF0000'>Error!! Alguma(s) da(s) variáveis (host, user, pass, db_super_news), não está atribuída!!</font>");}}//Formata a data do banco de dados MYSQL (ex.: 2004-02-08 22:56:30) para uma mais//convencional (ex.: 08 de Fevereiro de 2004 - 22h 56min).function formatData($data){$dia = substr($data, 8, 2);$mes = substr($data, 5, 2);switch ($mes) { case 1: $newmes = "Jan"; break; case 2: $newmes = "Fev"; break; case 3: $newmes = "Mar"; break; case 4: $newmes = "Abr"; break; case 5: $newmes = "Mai"; break; case 6: $newmes = "Jun"; break; case 7: $newmes = "Jul"; break; case 8: $newmes = "Ago"; break; case 9: $newmes = "Set"; break; case 10: $newmes = "Out"; break; case 11: $newmes = "Nov"; break; case 12: $newmes = "Dez"; break;}$ano = substr($data, 0, 4);$novadata = $dia . ' de ' . $newmes . ' de ' . $ano;$novahora = $novadata . ' - ' . substr($data, 11, 2) . 'h' . substr($data, 14, 2) . 'min';$datahora = $novahora;return $datahora;}?> Compartilhar este post Link para o post Compartilhar em outros sites
novato_PHP 0 Denunciar post Postado Dezembro 12, 2006 ai tenta mudar um pouco o arquivo funcao.php pra ficar assim: function formatData($data){$dia = substr($data, 8, 2);$mes = substr($data, 5, 2);switch ($mes) {case 01:$newmes = "Jan";break;case 02:$newmes = "Fev";break;case 03:$newmes = "Mar";break;case 04:$newmes = "Abr";break;case 05:$newmes = "Mai";break;case 06:$newmes = "Jun";break;case 07:$newmes = "Jul";break;case 08:$newmes = "Ago";break;case 09:$newmes = "Set";break;case 10:$newmes = "Out";break;case 11:$newmes = "Nov";break;case 12:$newmes = "Dez";break;} ve se é isto ai... e testa... Compartilhar este post Link para o post Compartilhar em outros sites
wendel 0 Denunciar post Postado Dezembro 12, 2006 Oi,Só aparece o mês, a data e hora ainda nada... Mesmo assim, apareceu Ago (estamos em dezembro) rsrsrs...Eu já quebrei a cabeça e já estou pensando em tirar essa data e colocar outra coisa Compartilhar este post Link para o post Compartilhar em outros sites
novato_PHP 0 Denunciar post Postado Dezembro 12, 2006 Tá certo!!!! Então vamos lá!!!!! faz o seguinte na página que exibe as noticias ultimas noticias você faz assim: na parte que está assim: //Realiza um loop atrás das informações inseridas na tabela supernewswhile($row = mysql_fetch_array($resultado)){$diretorio = $row['diretorio'];$largura = $row['largura'];$altura = $row['altura'];$titulo = $row['titulo'];$conteudo = $row['conteudo'];$data = $row['data'];?>troque para isto while($row = mysql_fetch_array($resultado)){$diretorio = $row['diretorio'];$largura = $row['largura'];$altura = $row['altura'];$titulo = $row['titulo'];$conteudo = $row['conteudo'];$var = $row['data'];$var = explode(" ",$var);$dia = $var[0];$hora = $var[1];$dia = explode("-",$dia);$data = "$dia[2]/$dia[1]/$dia[0] às $hora"; NAs linhas em que chamava a função format data você coloca assim print('<p><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000"><b>' [b]. $data . '[/b]</b><img src="time.gif" width="15" height="14" alt="" border=0><br><a class="titulo" href="?noticia=' . $id . '&titulo=' . $titulo . '">' . htmlentities($titulo) . '</a></font></p>'); amigo testa ai .... dê uma olhada neste link de onde tirei algumas informações... falow Compartilhar este post Link para o post Compartilhar em outros sites
wendel 0 Denunciar post Postado Dezembro 12, 2006 As linhas alteradas estão em negrito (menos a print) e agora a página abre sem notícias NOTICIAS.PHP <?php * require("conexao.inc.php"); //arquivo incluido que contem todas as variaveis necessarias para conexao com o MYSQL * require("funcao.php"); //arquivo que contem algumas funcoes basicas * * conexao_mysql($host,$user,$pass,$db_super_news); //funcao para conexao com o MYSQL ******************************************************************************** ************************************/ if(!isset($noticia)){ ?> <font size="1" face="Verdana, Arial, Helvetica, sans-serif">Últimas Notícias...</font><br> <hr width="100%" color="#CCCCCC"> <?php //Mostra todas as notícias inseridas no banco de dados e organiza em ordem //decrescente com relação a hora de criação com um limite de 5 noticias por consulta $resultado = mysql_query('SELECT ID, titulo, data FROM supernews ORDER BY ID DESC LIMIT 0, 5'); if(!$resultado){ die("Erro na solicitação de query: " . mysql_error() . '<br>'); } //Verifica se há alguma noticia amazenada no banco de dados if(mysql_num_rows($resultado) == 0){ ?> <font face="Verdana, Arial, Helvetica, sans-serif" color="#FF0000" size="1">Atenção! Não há notícias no banco de dados.</font><br> <?php } else { //Realiza um loop atrás das informações inseridas na tabela supernews while($row = mysql_fetch_array($resultado)){ $id = $row['ID']; $titulo = $row['titulo']; $data = $row['data']; print('<p><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000"><b>' . $data . '</b><img src="time.gif" width="15" height="14" alt="" border=0><br><a class="titulo" href="?noticia=' . $id . '&titulo=' . $titulo . '">' . htmlentities($titulo) . '</a></font></p>'); } } //Busca pela noticia com referencia ao $id selecionado }elseif(isset($noticia)){ $id = $noticia; $resultado = mysql_query("SELECT * FROM supernews WHERE ID=$id"); if(!$resultado){ die("Impossível visualizar esta notícia: " . mysql_error() . '<br>'); } //Realiza um loop atrás das informações inseridas na tabela supernews while($row = mysql_fetch_array($resultado)){ $diretorio = $row['diretorio']; $largura = $row['largura']; $altura = $row['altura']; $titulo = $row['titulo']; $conteudo = $row['conteudo']; $var = $row['data']; $var = explode(" ",$var); $dia = $var[0]; $hora = $var[1]; $dia = explode("-",$dia); $data = "$dia[2]/$dia[1]/$dia[0] às $hora";?> <table width="100%" align="center" border="0" cellpadding="0" cellspacing="0"> <tr> <td><font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><b><?php print(htmlentities($titulo)); ?></b></font><br> <hr color="#000000"> </td> </tr> <tr> <td><font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="1"><b><?php print(formatData($data)); ?></b></font><br> <hr color="#CCCCCC"> </td> </tr> <tr> <td> <?php if($diretorio == ""){ //se o diretorio for igual a vazia isso significa que é uma noticia sem imagem e mostra so a noticia ?> <p align="left"><font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><?php print(nl2br(htmlentities($conteudo))); ?></font></p> <?php } else { //caso contrario mostra a noticia com a imagem ?> <img src="admin/<?= $diretorio; ?>" width="<?= $largura; ?>" height="<?= $altura; ?>" align="left" border="1"><font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><?php print(nl2br(htmlentities($conteudo))); ?></font></p> <?php } ?> </td> </tr> <tr> <td><hr color="#CCCCCC"></td> </tr> <tr> <td><div align="center"><a class="links" href="java script:self.print()" onMouseOver="window.status='Imprimir'; return true">Imprimir</a> | <a class="links" href="index.php" target="_self">Painel de Notícias</a> | <a class="links" href="#top">Topo</a></div></td> </tr> <tr> <td><hr color="#000000"></td> </tr> </table> <?php } ?> <br> <font size="1" face="Verdana, Arial, Helvetica, sans-serif">+ Notícias...</font><br> <hr width="100%" color="#CCCCCC"> <?php //aproveita a conexao aberta para mostra as noticias diferentes da que a pessoa está lendo $resultado1 = mysql_query("SELECT * FROM supernews WHERE ID<>$id ORDER BY ID DESC LIMIT 0, 5"); if(!$resultado1){ die("Impossível visualizar esta notícia: " . mysql_error() . '<br>'); } if(mysql_num_rows($resultado1) == 0){ ?> <font face="Verdana, Arial, Helvetica, sans-serif" color="#FF0000" size="1">Adicione mais notícias.</font><br> <?php } else { //Realiza um loop atrás das noticias inseridas na tabela supernews while($row = mysql_fetch_array($resultado1)){ $id = $row['ID']; $titulo = $row['titulo']; print('<font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000"><a class="titulo" href="?noticia=' . $id . '&titulo=' . $titulo . '">» ' . htmlentities($titulo) . '</a></font><br>'); } } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
wendel 0 Denunciar post Postado Dezembro 13, 2006 Alguém mais se habilita? Já tentei de tudo e nada...A bronca agora é a data e hora que não são exibidas corretamente. Compartilhar este post Link para o post Compartilhar em outros sites
novato_PHP 0 Denunciar post Postado Dezembro 13, 2006 manda o link de onde baixou este sistema .. vou testar ele aki....e lhe retorno com as mudanças ... (se for necesário)... Compartilhar este post Link para o post Compartilhar em outros sites