Criando notícias em RSS para seu site a partir de XML e MySQL

Publicado por Leandro Alexandre ® em 04/01/2009

[ Hits: 11.477 ]

 


Criando notícias em RSS para seu site a partir de XML e MySQL



Requisitos para escrever e executar o sistema:
  • PHP
  • MYSQL
  • XML

Qualquer hospedagem Linux tem!

Para escrever o sistema, um editor de texto serve ou programa de sua preferência.

Tabelas e campos do MySQL:

Crie uma Tabela chamada: noticiasrss

Depois crie os campos:
  • datainclusao
  • datasaida
  • titulo
  • descricao
  • link

Agora criaremos o arquivo php para gerar o XML a partir do MySQL.

Crie um arquivo chamado rss.php. Insira nele as linhas abaixo:

<?php
// só use daqui
$hostname_config = "localhost"; // ou ip do servidor
$database_config = "seubanco";
$username_config = "root";
$password_config = "suasenha";
$config = mysql_pconnect($hostname_config, $username_config, $password_config) or trigger_error(mysql_error(),E_USER_ERROR);
$bd = mysql_select_db("$database_config", $config);
// até aqui !!!!!!!!! se não tiver um arquivo de conexao.php
// caso tenha o arquivo de conexao.php apague esta parte do script ou //comente colocando //
?>

<?php
// insira aqui seu arquivo de conexao com o mysql
// include ("conexao.php");
// para usar apague os // do início e substitua o
// arquivo conexao.php por seu arquivo de conexão



// formato de data em português brasil.
$data = date("d/m/Y");

$sql = "select titulo, descricao, date_format(datasaida,'%d/%m/%Y') as data from noticiasrss where datainclusao >= NOW()";

$query = mysql_query($sql);
  
// print o cabeçalho do xml
header("Content-type: application/xml");
  
// cabeçalho do RSS
echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>";
?>

<rss version="2.0">
    <channel>
        <title>Titulo site - Notícias</title>
        <link>Link do site</link>
        <description>Descrição  do site</description>
        <language>pt-br</language>
        <copyright>Site - Todos os direitos reservados.</copyright>
        <image>
            <title>Titulo do imagem</title>
            <url>URL da imagem - Logo</url>
            <link>Link da imagem para o site</link>
        </image>
        <lastBuildDate><?=$data;?></lastBuildDate>
        <ttl>20</ttl>
        <?php
        while($result = mysql_fetch_array($query)) {
        ?>
            <item>
                <title><?=$result[titulo];?></title>
                <link><?=$result[link];?></link>
                <description><?=$result[descricao];?></description>
                <datePosted><?=$result[datainclusao];?></datePosted>
            </item>
        <?php
        }
        ?>
    </channel>
</rss>

Pronto, agora é só rodar ele no seu servidor!

Insira uma notícia na tabela e execute o rss.php no seu browser como no exemplo abaixo:

http://seusiteouip.com.br/rss.php

Espero ter contribuído e ajudado vocês.

Leandro

Outras dicas deste autor

rcconf: configure e controle os serviços de inicialização do Debian ou Ubuntu

Criando um contator de visitas para seu site (PHP grava no TXT)

Shellshock - Corrigindo falha de segurança do bash em seu servidor Debian

Instalando e configurando na mão o PHP 5 e MySQL 5 no Ubuntu 7

Mantenha seu servidor Ubuntu atualizado!

Leitura recomendada

Particionamento no GNU/Linux

Segurança em servidores

Cuidado com nomes de arquivos no Linux

Python 2.7 no CentOS/Red Hat Enterprise 6

Variante ABNT2 em teclado Português (nativo) no Xubuntu [Interface Gráfica] - Configuração

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts