Vous savez créer un flux RSS pour votre site. C'est bien. Mais il y a moyen de se simplifier la vie. En effet, vous devez pour l'instant aller modifier votre fichier XML manuellement et le mettre en ligne pour qu'il soit à jour. On peut se simplifier la vie en créant un script qui va aller récupérer les informations de votre BDD et créer le flux automatiquement.
CREATE TABLE `flux_rss` (
`titre` TEXT NOT NULL ,
`lien` TEXT NOT NULL ,
`description` TEXT NOT NULL ,
`date` TEXT NOT NULL
) ENGINE = MYISAM ;
<html>
<head>
<meta name="robots" content="noindex" />
<title>Formulaire du flux RSS/title>
</head><body>
<?php
if(isset($_POST['titre'])){
$connection = mysql_connect('localhost', 'root', 'passwd') ;
if(!$connection){
die('Connection impossible:'.mysql_error());
}
mysql_select_db('ma_base');
$date= date('D d M Y H:i:s');
//Récupération de la date pour l'insérer dans le flux
mysql_query("INSERT INTO flux_rss VALUES('$_POST[titre]', '$_POST[lien]', '$_POST[description]',' $date')");
mysql_close($connection);
echo'information enregistrée
<a href="cree_rss.php">Revenir au formulaire</a>';
}
else{
?><form method="post" action="cree_rss.php">
Titre
<input method="post" name="titre" /><br/>
Lien
<input type="text" name="lien" /><br/>
Descriptions :<br/>
<textarea name="description" rows="7" cols="25"></textarea>
<br/>
<input type="reset" value="Reset" />
<input type="submit" value="Envoyer" /><?php
}
mysql_close($connection);
?></body></html>
<html><head>
<title>Creation du flux</title>
<meta name="robots" content="noindex" />
</head><body>
<?php
$rss = '<?xml version="1.0" encoding="iso-8859-1"?>';
$rss .='<rss version="2.0">';
$rss .='<channel>';
$rss .='<title>mon_site</title>';
$rss .='<link>http://www.mon_site.be</link>';
$rss .='<description>Les news de mon site.</description>';
$rss .='<copyright>Copyright mon_site</copyright>';
$connection = mysql_connect("localhost", "root", "m_d_p");
if (!$connection) {
die('Connexion impossible');
}
mysql_select_db("data_base");
$res = mysql_query("SELECT * FROM flux_rss ORDER BY date DESC LIMIT 0, 10");
while($tab = mysql_fetch_array($res)){
$titre = $tab['titre'];
$lien = $tab['lien'];
$description = $tab['description'];
$date = $tab['date'];
$rss .= '<item>';
$rss .= '<title>'.$titre.'</title>';
$rss .= '<link>'.$lien.'</link>';
$rss .= '<pubDate>'.$date.' GMT</pubDate>';
$rss .= '<description>'.$description.'</description>';
$rss .= '</item>';
}
$rss .='</channel>';
$rss .='</rss>';
:n'oubliez pas de le mettre en CHMOD 777
C'est parti pour le code:
$file = fopen("rss.xml", 'w+');
fwrite($file, $rss);
fclose($file);
mysql_close($connection);
: ce script est composé de deux fichiers. Il serait peut être plus simple de n'en faire qu'un. Pour cela, il vous suffit de rajouter le code de création du flux dans la partie du formulaire qui écrit dans la base. Comme ca, après avoir posté votre news, elle s'enregistre dans la base et le fichier XML est automatiquement mis à jour. Vous n'avez pas besoin d'aller ouvrir une page spécifique pour créer le flux.