Sabato, 10 maggio 2008 - 0.06.55 A A A Homepage | Forum | Feed RSS


salta il menu principale





Ricerca articoli




PHP: Creare feed Rss con PHP e MySQL
Tutorials, esempi di codice, per illustrare come realizzare applicazioni php professionali.
 

Per gentile concessione di AG Web Solutions

In questo tutorial ci occuperemo della realizzazione di un sistema PHP e MySQL in grado di gestire in automatico un feed rss.

In particolare gestiremo la tabella MySQL "News", composta da tre campi:

- ID

- TITOLO

- DESCRIZIONE

Ciò che il nostro sistema dovrà fare sarà connettersi al database MySQL, quindi selezionare la tabella "news", estrapolare i dati e visualizzare le ultime news come elementi RSS.

Creiamo un nuovo file e chiamiamolo "rss.php":

<?php
// Eseguo le operazioni di connessione al database MySQL
$connessione = mysql_connect("localhost", "username", "password");
mysql_select_db("nomedatabase", $connessione);
$selezionedati = "SELECT * FROM news ORDER BY ID DESC LIMIT 10";
$query = mysql_query($selezionedati) or die(mysql_error());

// Modifico l'intestazione e il tipo di documento da PHP a XML
header("Content-type: text/xml");

// Eseguo le operazioni di scrittura sul file
echo ("<rss version=\"2.0\">");
echo ("<channel>");
echo ("<title>Nome del FEED </title>");
echo("<link>http://www.miosito.com</link>");
echo ("<description>Una descrizione del FEED e del mio sito</description>");
echo "<copyright>Copyright 2006 Mio sito.com </copyright>\n";
echo "<docs>http://blogs.law.harvard.edu/tech/rss</docs>\n";
echo "<managingEditor>miamail@miosito.com</managingEditor>\n";
echo "<webMaster>miamail@miosito.com</webMaster>\n";
echo ("<language>IT-it</language>");
while($array = mysql_fetch_array($query)){
extract($array);
echo "<item>
<title>$TITOLO</title>
<link>http://www.miosito.com/leggi.php?ID=$ID</link>
<description>$DESCRIZIONE</description>
</item>";
}
echo "</channel></rss>";
?>

 

Alcune considerazioni
Sebbene il codice sia sufficientemente commentato, sono necessarie alcune considerazioni.

Si notino innanzitutto le righe:

// Eseguo le operazioni di scrittura sul file
echo ("<rss version=\"2.0\">");
echo ("<channel>");
echo ("<title>Nome del FEED </title>");
echo("<link>http://www.miosito.com</link>");
echo ("<description>Una descrizione del FEED e del mio sito</description>");
echo "<copyright>Copyright 2006 Mio sito.com </copyright>\n";
echo "<docs>http://blogs.law.harvard.edu/tech/rss</docs>\n";
echo "<managingEditor>miamail@miosito.com</managingEditor>\n";
echo "<webMaster>miamail@miosito.com</webMaster>\n";
echo ("<language>IT-it</language>");
 

in cui dovremo inserire le informazioni del nostro FEED e quindi del nostro sito web.
Alcuni di questi elementi sono facoltativi, ma è buona abitudine inserirli comunque.

Particolare attenzione al codice

while($array = mysql_fetch_array($query)){
extract($array);
echo "<item>
<title>$TITOLO</title>
<link>http://www.miosito.com/leggi.php?ID=$ID</link>
<description>$DESCRIZIONE</description>
</item>";
}


in cui lo script effettua il ciclo di visualizzazione dei vari records.
Ogni elemento di un file RSS è contenuto nel TAG "ITEM", e possiede tre sub-elementi:

- title

- link

- description

Come titolo, lo script manda a video il corrispondente testo presente nel campo TITOLO della tabella a livello del record selezionato.
Come description, lo script manda a video il rispettivo testo presente nel campo DESCRIPTION della tabella a livello del record selezionato.

Per quanto riguarda il sub-elemento LINK:

<link>http://www.miosito.com/leggi.php?ID=$ID</link>
 

da notare il fatto che si presuppone nel nostro sito esista una pagina LEGGI.PHP che in base all'ID digitato, visualizza i dati di una news particolare. Si tratta sostanzialmente di una semplice pagina di visualizzazione delle news.
Lo script visualizza l'ID corrispondente al record selezionato per ogni elemento ITEM.

 

Le ultime news
Stampa NewsStampa Pagina - Info sull'autoreInfo sull'autore
SEGNALA QUESTA LEZIONE AD UN AMICO CON ICQICQ o EMAILEMAIL
forumDISCUTI DI QUESTA LEZIONE SUL FORUM

Pubblicità locale Web Marketing

Newsletter

Iscriviti alla nostra newsletter per ricevere novita e aggiornamenti dal nostro sito in modo GRATUITO!