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

PHP - Exibindo notícias por categoria na index.php


Eddie Diaz

Pergunta

PHP - Exibindo notícias por categoria na index.php

Fala pessoa, quem pode me ajudar nessa dúvida?

Quero puxar para minha index.php notícias por categoria, limitanto pelo include a quantidade de registros a semrem exibidos?

é possível?

serei mais claro, segue o sitema que estou estudando (FSM Notícias v. 2.0) busca no goole e encontrará completo. o que quero é exibir na minha index as categorias com apenas 3 ou 4 registros sendo exibidos... segue o código

index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns=http://www.w3.org/1999/xhtml">

<head>

<title>.:: Noticias ::.</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<meta name="title" content="FSM Notícias - A sua identidade digital em informação" />

<meta name="author" content="José Augusto dos Santos Moraes" />

<meta http-equiv="content-laguage" content="Português" />

<link rel="shortcut icon" href="img/favicon.gif" />

<link rel="stylesheet" type="text/css" href="include/estilo.css" />

<style type="text/css">

@import url("include/estilo.css");

</style>

</head>

<body>

<div id="tudo">

<table width="776" border="0" cellpadding="0" cellspacing="0">

<tr>

<td>

<div id="topo">

<a href="http://www.lagunanews.net" title="lagunanews.net - A sua identidade digital em informação" class="topo_rodape">lagunanews.net</a>

</div>

</td>

</tr>

<tr>

<td>

<div id="logo">

FSM Notícias v. 2.0

</div>

</td>

</tr>

<tr>

<td>

<div id="data">

<? include ("include/data_hora.php"); ?>

</div>

</td>

</tr>

<tr>

<td>

<div id="linha">

</div>

</td>

</tr>

<tr>

<td>

<table width="100%" border="0" cellpadding="0" cellspacing="0">

<tr>

<td align="center" valign="top" style="width:122px; border-right:#333 1px dotted;">

<div id="cabecalho">

CONTEÚDO

</div>

<div id="menu">

<ul id="nav">

<li><a href="index.php">» ÚLTIMAS NOTÍCIAS</a></li>

<? include ("menu.php"); ?>

<li><a href="./contato/">» FALE CONOSCO</a></li>

<li><a href="./indicacao/">» INDIQUE NOSSO SITE</a></li>

</ul>

</div>

</td>

<td align="center" valign="top">

<p>

<? include ("miolo.php"); ?>

</p>

</td>

<td align="center" valign="top" style="width:160px; border-left:#333 1px dotted;">

<div id="cabecalho2">

PROCURAR NOTÍCIA

</div>

<div id="menu2" align="center">

<form method="post" action="busca.php">

<input name="palavra" type="text" class="buscar">

<input type="image" border="0" src="img/ok.gif" hspace="4" width="22" height="15">

</form>

</div>

</td>

</tr>

</table>

</td>

</tr>

<tr>

<td>

<div id="rodape">

Resolução mínima 800x600 - <font color="#1874cd">©2004-2006 FSM Notícias</font>.<!--Creative Commons License-->

<a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/br/" class="topo_rodape" title="Este site está sob uma licença da Creative Commons - Creative Commons License">

Alguns direitos reservados.</a><!--/Creative Commons License-->

<!-- <rdf:RDF xmlns="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">

<Work rdf:about="">

<license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/br/" />

<dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />

</Work>

<License rdf:about="http://creativecommons.org/licenses/by-sa/2.5/br/">

<permits rdf:resource="http://web.resource.org/cc/Reproduction"/>

<permits rdf:resource="http://web.resource.org/cc/Distribution"/>

<requires rdf:resource="http://web.resource.org/cc/Notice"/>

<requires rdf:resource="http://web.resource.org/cc/Attribution"/>

<permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>

<requires rdf:resource="http://web.resource.org/cc/ShareAlike"/></License></rdf:RDF> -->

<div>

</td>

</tr>

</table>

</div>

</body>

</html>

----------------------------------------------------------------------------------------------------------------------------------------------------

miolo.php

<table border="0" width="99%" cellpadding="0" cellspacing="0">

<tr>

<td width="250" align="center" valign="top">

<? include ("noticias.php"); ?> </td>

<td width="245" align="center" valign="middle"><span style="padding-top:1em">

<? include ("ns_foto.php"); ?>

</span></td>

</tr>

<tr>

<td colspan="2" style="padding-top:1em" align="center" valign="top">&nbsp;</td>

</tr>

<tr>

<td colspan="2" style="padding-top:1em" align="center" valign="top"><? include ("listar_todas.php"); ?></td>

</tr>

</table>

--------------------------------------------------------------------------------------------------------------------------------------

noticias.php

<?

$conn = mysql_connect("localhost","root","kxmlkxml");

$banco = mysql_select_db("ead");

// ------- aqui será implementada nossa proposta ------ //

// neste momento estamos montando o comando sql para

// podermos selecionar os dados de nossa tabela no banco de dados

$sql = "SELECT * FROM noticias WHERE foto!='' AND dstq='sim' ORDER BY id DESC LIMIT 0, 5";

// agora utilizando a última função apresentada, faremos a

// execução consequentemente será criada a nossa tabela

$query = @mysql_query($sql);

// note que novamente foi utilizado o @(arroba) a frente da função

// agora faremos um teste para verificar se a função mysql_query

// foi bem sucedida

if (!$query){

die ("Problemas ao executar o sql !!!");

} else {

// neste ponto, faremos o tratamento das informações retornadas

// pela execução do sql de seleção de dados

while ($coluna = @mysql_fetch_array($query)){

// esta atribuição de coluna["coluna_da_tabela] a uma

// variavel se dá pelo fato apenas de simplificar o

// entendimento do que está se fazendo

$id = $coluna["id"];

$titulo = $coluna["titulo"];

$subtitulo = $coluna["subtitulo"];

$texto = $coluna["texto"];

$fonte_foto = $coluna["fonte_foto"];

$foto = $coluna["foto"];

$titulo = stripslashes($titulo);

$subtitulo = stripslashes($subtitulo);

$texto = stripslashes($texto);

// Aqui implementamos um limitador do número de letrar a

//serem exibidas na última notícia com imagem

$limite=100;

$titulo = substr($titulo, 0,$limite);

// agora através do comando echo pertencente ao PHP

// iremos apresentar os dados selecionados, na tela

if ($foto != "") {

?>

<div align="justify">

<div id="div_foto">

<a href="exibir.php?noticia=<? echo $id; ?>"><? echo $titulo; ?></a>

</div>

<div align="center">

<a href="exibir.php?noticia=<? echo $id; ?>">

<img src="mini.php?gd=2&src=<? echo ("$foto"); ?>&maxw=248" border=0 alt="<? echo $subtitulo; ?>" title="<? echo $titulo; ?>" /></a>

</div>

<div id="topo">

<? echo $fonte_foto; ?>

</div>

</div>

<?

}

}

}

// e para finalizar, fechamos a conexão com servidor MySQL

mysql_close($conn);

?>

---------------------------------------------------------------------------------------------------

O DB é composto pela tabela de categorias e noticias

-----------------------------------------------------------------------------------------------------

SERIA POSSÍVEL FAZER ALGO PARECIDO COM ESSE INCLUDE?.

<?

$id = 1;

$categoria = Educacao;

$limite = 4;

$largura = 50;

$altura = 50;

include "noticias.php";

?>

[code/]

Editado por Eddie Diaz
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Cara oque você tem que fazer é o seguinte:

1º Buscar no Banco de Dados as Notícias

$busca = mysql_query("SELECT * FROM noticias WHERE categoria = 'esporte' ORDER BY `id` DESC LIMIT 0, 3 "); // Até 3 registros, ordenando de forma decrescente.

2º Exibir o Resultado:

while ($resultEsporte = mysql_fetch_array($busca)){

echo "<div class=\"titulo-noticia\">" .$resultEsporte['titulo']. "</div>"; // Título da Notícia

echo "<div class=\"data-noticia\">" .$resultEsporte['data']. "</div>"; // Data da Notícia

echo "<div class=\"texto-noticia\">" .$resultEsporte['texto']. "</div>"; // Texto

echo "<div class=\"autor-noticia\">" .$resultEsporte['autor']. "</div>"; // Autor da Notícia

echo "<hr />";

}

Agora você já estará exibindo as notícias de esporte na sua página! Faça o mesmo procedimento para as outras categorias a qual você deseja exibir.

Obs: nesse exemplo dei uma class para cada div para você poder personalizar no seu CSS.

.titulo-noticia { width: 90%; height: 30px; line-height: 30px; border: 1px solid black; padding: 7px; font-size: 22px; text-shadow: 1px 1px 1px #333; }

.data-noticia { width: 90%; font-size: 13px; text-align: right; color: #b33; padding: 3px; }

.texto-noticia { width: 90%; font-size: 13px; padding: 10px 12px; font-family: "trebuchet ms", helvetica, arial; color: #333; }

.autor-noticia {width: 90%; font-size: 11pt; padding: 3px; font-weigth: bold; color: #b33; }

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...