Version complète: sur le forum Webmaster Hub : Comment enregistrer un flux RSS dans une base de données
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > XML et ses dialectes
dakolkoz
Bonjour,

Je souhaite extraire les données d'un flux rss afin de les enregistrer dans une base de données ?
Quelqu'un peut-il m'aider ? je suis novice en PHP et en SQL, j'utilise PHP5

Merci d'avance
ttnrv
Bonjour,

je recherche exactement la même chose. Je surf depuis qqs jours pour trouver des solutions mais tout ce que je trouve, ce sont des lecteurs de flux plus ou moins ouverts mais en aucun cas qui permettent d'alimenter une base SQL.
Ce n'est donc pas forcement un lecteur avec une interface utilisateur dont j'ai besoin mais simplement une "moulinette" qui collecte les flux RSS et qui stock le résultat dans une table.

Si tu trouve qq chose, pourrais-tu m'en faire part ?
De mon côté, si je trouve quelque chose, je te l'envoi.
OK ?
silexian
Bonjour,

<intro>
tout le monde connait MagPieRSS, dont le but est de parser les flux RSS.
</intro>

Vous demandez à enregistrer un flux RSS dans une base de données ?
Alors prenez MagPieRSS, donnez lui en entrée votre flux RSS (RDF, 0.9, 1.0, 2.0, ...)
Et ensuite vous faites ce que vous voulez puisque vous avez tout dans des array/tableaux.

Exemple de code :

CODE
<?php
require_once 'rss_fetch.inc';

$url = 'http://magpie.sf.net/samples/imc.1-0.rdf';
$rss = fetch_rss($url);

echo "Site: ", $rss->channel['title'], "<br>
";
foreach ($rss->items as $item ) {
    $title = $item[title];
    $url   = $item[link];
    echo "<a href=$url>$title</a></li><br>
";
}
?>


Voyez que dans la boucle foreach, vous manipulez le titre, le lien, mais aussi ce que vous voulez...
Vous n'avez qu'à utiliser ce foreach pour insérer dans une BDD

CODE
<?php
require_once 'rss_fetch.inc';

$url = 'http://magpie.sf.net/samples/imc.1-0.rdf';
$rss = fetch_rss($url);

foreach ($rss->items as $item ) {
    $sql= "INSERT INTO ta_base (...les champs...) VALUES (...les valeurs ... , $item[title],$item[link], $item[description], $item[date], ....)";
    mysql_query ($sql);
}
?>


Voilà.
Loran
ttnrv
Salut Silexian,

merci d'apporter un peu d'eau à mon moulin.
Je ne voudrais surtout pas donner l'impression de m'approprier le topic de Dakolkoz !
C'est simplement que visiblement nous sommes au même niveau dans nos recherches.

Pour répondre à ton <INTRO>, je savais bien que je n'étais pas comme tout le monde !
J'ai bien lu quelques infos sur MagPieRSS mais de là à le connaitre, c'est une autre histoire.

Quelqu'un aurait-il rédiger un tuto en français ?

Encore merci de ton aide
dakolkoz
CITATION(silexian @ mardi 20 novembre 2007 à 18:40) *
Bonjour,

<intro>
tout le monde connait MagPieRSS, dont le but est de parser les flux RSS.
</intro>

Vous demandez à enregistrer un flux RSS dans une base de données ?
Alors prenez MagPieRSS, donnez lui en entrée votre flux RSS (RDF, 0.9, 1.0, 2.0, ...)
Et ensuite vous faites ce que vous voulez puisque vous avez tout dans des array/tableaux.

Exemple de code :

CODE
<?php
require_once 'rss_fetch.inc';

$url = 'http://magpie.sf.net/samples/imc.1-0.rdf';
$rss = fetch_rss($url);

echo "Site: ", $rss->channel['title'], "<br>
";
foreach ($rss->items as $item ) {
    $title = $item[title];
    $url   = $item[link];
    echo "<a href=$url>$title</a></li><br>
";
}
?>


Voyez que dans la boucle foreach, vous manipulez le titre, le lien, mais aussi ce que vous voulez...
Vous n'avez qu'à utiliser ce foreach pour insérer dans une BDD

CODE
<?php
require_once 'rss_fetch.inc';

$url = 'http://magpie.sf.net/samples/imc.1-0.rdf';
$rss = fetch_rss($url);

foreach ($rss->items as $item ) {
    $sql= "INSERT INTO ta_base (...les champs...) VALUES (...les valeurs ... , $item[title],$item[link], $item[description], $item[date], ....)";
    mysql_query ($sql);
}
?>


Voilà.
Loran


Salut,

J'ai reussi à parser mon flux avec magpierss, les données d'affichent sur mon site nickel.
Pour ce qui est de l'enregistrement dans la base, je n'ai pas trop compris ton exemple vu que je n'y connais rien en PHP et en BDD.
Comment créer l'architecture de mes tables enregistrer les données dedans, tout ça c'est du chinois pour moi si je n'ai pas d'exemple concret.

sad.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.