Olá galera, tudo bem? Neste artigo criaremos um RSS, baseado numa tabela de notícias, com programação PHP orientado a objetos e banco de dados MySQL.
Se alguém tiver interesse, para desenvolver e rodar os scripts, utilizei os seguintes softwares: VertrigoServ 2.19 (
http://vertrigo.sf.net), PHPEclipse 1.1.8 (
http://phpeclipse.sf.net) e Mozilla Firefox 2.0.0.11 (
http://www.mozilla.org/firefox).
Definição de RSS segundo a Wikipédia: "RSS é um subconjunto de 'dialectos' XML que servem para agregar conteúdo ou 'Web syndication', podendo ser acedido mediante programas ou sites agregadores. É usado principalmente em sites de notícias e blogs."
1º Passo: Copie o comando SQL abaixo e cole no seu console MySQL:
CREATE DATABASE rss;
USE rss;
CREATE TABLE noticias (
not_id int(6) NOT NULL AUTO_INCREMENT,
not_titulo varchar(60) NOT NULL,
not_texto text NOT NULL,
not_data date NOT NULL,
not_hora time NOT NULL,
constraint PRIMARY KEY(not_id)
);
2º Passo: Crie um arquivo PHP chamado Rss.class.php.
3º Passo: Edite o arquivo recém-criado e insira o seguinte código:
<?php
class Rss
{
#Declaracao de variaveis
private $conexao = null;
private $servidor;
private $usuario;
private $senha;
private $alias;
/**
* Construtor
*/
public function __construct()
{
#Dados para conexao com o banco de dados
$this->servidor = "localhost";
$this->usuario = "root";
$this->senha = "vertrigo";
$this->alias = "rss";
#Efetua a conexao com o banco e seleciona a base de dados
$this->
conexao =
mysql_connect($this->
servidor,
$this->
usuario,
$this->
senha);
if ($this->conexao)
{
}
}
/**
* Gera o RSS 2.0
*
* @param String $titulo titulo do rss
*
* @param String $link url do site
*
* @param String $descricao descricao do rss
*
* @param String $tabela tabela do banco de dados que será puxada as informacoes
*
* @param String $campo campo da tabela pelo qual sera ordenado, de forma decrescente, o rss
*
* @param String $destino url de destino das noticias - Ex: http://www.site.com.br/noticia?id=
*
* @return void
*/
public function rss($titulo, $link, $descricao, $tabela, $campo, $destino)
{
#Seleciona os dados no banco de dados
$sql = "SELECT * FROM $tabela ORDER BY $campo DESC;";
#Cria a variavel $xml com o codigo xml necessario para criar o RSS
$xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>";
$xml .= "<rss version=\"2.0\">";
$xml .= "<channel>";
$xml .= "<title>$titulo</title>";
$xml .= "<link>$link</link>";
$xml .= "<description>$descricao</description>";
$xml .= "<language>pt-br</language>";
#Verifica se o numero de linhas resultantes da query eh maior do que zero
{
#"Quebra" a matriz
{
$xml .= "<item>";
$xml .= "<title>$dados[1]</title>";
$xml .= "<link>$destino$dados[0]</link>";
$xml .= "</item>";
}
}
$xml .= "</channel>";
$xml .= "</rss>";
#Retorna o valor da variavel $xml
return $xml;
}
}
?>
4º Passo: Crie um arquivo chamado index.php, no mesmo diretório que o Rss.class.php, e insira o seguinte código:
<?php
require_once("Rss.class.php"); //chama o arquivo
$obj_rss = new Rss(); //instancia a classe
echo $obj_rss->
rss("Exemplo de RSS 2.0",
"http://www.seusite.com.br",
"Últimas notícias",
"noticias",
"not_id",
"http://www.seusite.com.br/noticia.php?id=");
//escreve o valor retornado do metodo ?>
5º Passo: Basta inserir registros no banco de dados, acessar o arquivo index.php e pronto! Você já terá seu script RSS a disposição! Inseri dois registros no banco de dados, como exemplo, e obtive o seguinte resultado: