RSS Ajouter dans dase de donnée

Signaler
Messages postés
153
Date d'inscription
dimanche 2 octobre 2005
Statut
Membre
Dernière intervention
27 juillet 2006
-
Messages postés
153
Date d'inscription
dimanche 2 octobre 2005
Statut
Membre
Dernière intervention
27 juillet 2006
-
Bonjour :)



Je créé une petite page ou je voudrais mettre plein de RSS différent
avec différentes categ et je voudrais aussi faire un formulaire de
recherche et donc que chaque fois qu'il y a une nouvelle RSS la mettre
dans ma base de donnée je sais pas trop comment faire parce que si jai
150news rss sa fera chaque fois 150 requete sql et sa c'est pas
possible :s



En faite si j'ai plusieurs rss pour la meme catégorie donc imaginon
soin et beauté :p j'ai plusieur rss et je voudrais que il y ai affiché
les 10dernière rss de la categ soin et beauté mélanger donc il mélange
en fonction des plus récent mais avec 3 url rss différente. Et aussi je
voudrais faire un form de recherche donc je pense qu'il me faut
absolument une db pour non ?



Je passe via le lecteur rss comme on peux le voir ci dessou:



Notre composant préféré du moment qui fait cela est MagPieRSS




Pour utiliser ce composant, voici un rapide tour d'horizon :


- Télécharger le composant sur son site officiel


- Le décompresser dans un répertoire de son site web (par exemple dans un répertoire "magpierss" situé à la racine du site)


- Créer un répertoire cache accessible en lecture et en écriture
par le serveur web (en mettant une authorisation 777 par exemple). Par
défaut, celui ci s'appelle "cache".


Pour l'utiliser ensuite, c'est simple, il suffit d'insérer ce bout de code dans vos pages :



<center>

<?php

require_once "magpierss/rss_fetch.inc"; \/\/ Chemin pour accéder au fichier rss_fetch.inc

$fichier_xml = "http://www.clubic.com/xml/news.xml"; \/\/ Adresse du flux XML

$rss = fetch_rss($fichier_xml);

echo $rss->channel['title'],"
\n";

foreach ($rss->items as $item ) {

$title = $item[title];

$url = $item[link];

echo "Rayman de retour courant 2006 (Annonce)


14/10/2005 : Accessoires iPod : Apple devient trop gourmand ? (Baladeur MP3 / Multimédia)


14/10/2005 : Multifonctions : Olivetti se met au WiFi (Imprimante)


14/10/2005 : AMD ouvre les portes de sa nouvelle usine (Business Informatique)


14/10/2005 : La manette XBox 360 fonctionnera bien sur PC (Accessoires de jeu)


14/10/2005 : Microsoft publie le Rollup Update 2 de MCE 2005 (Windows)


14/10/2005 : MTV dévoile sa chaîne Internet 24h/7j (Services en ligne)


14/10/2005 : Electronic Arts ouvre grand les Valves... (Annonce)


14/10/2005 : Gigabyte : Silence, on joue ! (Carte Graphique)


14/10/2005 : Quoi de neuf en jeux vidéo ce vendredi ? (Annonce)


14/10/2005 : Une GeForce 6800 GS en préparation chez NVIDIA (Carte Graphique)


14/10/2005 : Samsung : un nouveau concept de téléphone mobile (Téléphone mobile)


14/10/2005 : Images, vidéo et « gold » pour Shattered Union (Annonce)


14/10/2005 : Les prévisions sur les baladeurs encore en hausse (Business Informatique)


14/10/2005 : Intel met en avant sa vision du bureau de demain (Processeur)


14/10/2005 : Affaire DRAM : Samsung va payer une amende (Business Informatique)


14/10/2005 : Un hub eSATA pour les amoureux du stockage (Stockage)


14/10/2005 : Microsoft Autoroute 2006 trace la route (Windows)


14/10/2005 : Pas de changement pour la taxe sur la copie privée (Business Informatique)


14/10/2005 : Nouvelle version d'America's Army sur Clubic (Annonce)

Merci pour votre aide et bon week end



A++

Nexto (Alias: fabienfs)
fabien@interplanet.be

13 réponses

Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Salut,



tu veux faire quoi au juste ? tu veux récupérer les liens des news sur
différents sites et regrouper tous les liens, titres, blabla dans une
table pour faire appel à cette table lorsque t'affiches les news sur
ton site ? (donc pas de doublons dans les news que tu récupères si j'ai
bien compris) ?

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
153
Date d'inscription
dimanche 2 octobre 2005
Statut
Membre
Dernière intervention
27 juillet 2006
1
Euh c'est plus ou moin sa donc en gros chaque fois que il y aurais une nouvelle news rss sur une des url xml que j'ai donné l'entré dans la base de donnée et tout pour ensuite de 1 que les gens puissent faire des recherches et de 2 pour qu'il affiche par ex pour la meme catégorie les dernier rss mais de plusieurs site différent mais dans le meme truc. Mais je sais pas comment détecter quand il y a une nouvelle news rss parce que imlaginon que ya 100 titre rss qui s'ouvre sur la page sa ferais 100 requetes sql pour voir si il existe dans la base si oui alors on fait rien sinon l'ajouter. Le serveur serais saturé ce n'est pas possible alors je sais pas très bien comment faire en passant par le code que j'ai donné dans le post précédent.


A++

Nexto (Alias: fabienfs)
fabien@interplanet.be</FON< body>
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Tu peux très bien faire une seule requête INSERT avec cette syntaxe.



Imaginons que t'as une table avec deux champs (pour simplifier) :



url et date avec un UNIQUE sur le champ url



Ensuite pour ta requête d'insertion :



REPLACE INTO table VALUES('http://...','2454512145'),('http://qsdfdqsf.','1253852145')

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
153
Date d'inscription
dimanche 2 octobre 2005
Statut
Membre
Dernière intervention
27 juillet 2006
1
Euu je comprend pas bien ton post

Tu peux très bien faire une seule requête INSERT avec cette syntaxe.

Imaginons que t'as une table avec deux champs (pour simplifier) :

url et date avec un UNIQUE sur le champ url

Ensuite pour ta requête d'insertion :

REPLACE INTO table VALUES('http://...','2454512145'),('http://qsdfdqsf.','1253852145')


A++

Nexto (Alias: fabienfs)
fabien@interplanet.be</FON< body>
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Hello,



moi je pige pas pourquoi mettre des flux rss en bdd.

Une recherche sur un flux rss, c'est pas très compliqué...suffit d'un peu de XPath.



Normalement, un flux rss provient d'une bdd, pas l'inverse...
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
remarque c'est possible aussi, mais c'est vrai que c'est un peu original

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Ben oui je sais que c'est possible, lol. Mais bon oui, c'est original
;-) C'est un peu faire l'inverse du but des rss, quand même.
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
C'est sûr :-)



En même temps pour archiver c'est une bonne idée, ou pour ne pas faire
appel au RSS distant à chaque fois.. mais bon si j'étais lui j'aurais
plutôt créé un fichier cache qui contient les news, mettre à jour ce
fichier toutes les 24 h par exemple... au lieu de passer par une bdd

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
153
Date d'inscription
dimanche 2 octobre 2005
Statut
Membre
Dernière intervention
27 juillet 2006
1
A++

Nexto (Alias: fabienfs)
fabien@interplanet.be
Messages postés
153
Date d'inscription
dimanche 2 octobre 2005
Statut
Membre
Dernière intervention
27 juillet 2006
1
Erf je suis pas chez moi et le freetextbox ici déconne :))

Je disais donc, si on sais rechercher dans le flux rss directement que plutot les inséré dans une bd et puis rechercher dans la bd, c'est mieux évidement mais comment faire ?? :pp

Mais moi mon problème principal est toujours que si j'ai par exemple 3 site de flux rss qui parlent d'actualité en général. Je voudrais faire que sur la page index il y ai les 10 dernière rss d'actualité le plus récent mais je pense pas que dans le code que j'ai donné dans mon premier post (pour lire les rss des fichier xml) on sache pas mettre 3 site flux rss et qu'il prenne chaque fois la plus récente actualité dans les 3 xml des 3 sites et qu'il le mette en ordre décroissant par rapport au dateheure.

Donc exemple je voudrais faire:

Dernier rss de l'actualité:
16:25 - La princesse mathilde à accouché d'une petite fille (du site http://www.actu.chezpasquoi)

16:23 - Roi d'islande décédé dans un attentat hier (du site http://www.unautresitederssactu.com)

16:22 - Bill gates désédé lors d'un plantage windows (du site http://www.site-actualité-3.net)

etc ... Donc vraiment les dernières info actualité qui proviennent de plusieur site dans le même truc reader de rss.

Si y a moyen de définir plusieur site dans un reader pour rss sa va sinon je devrais employer ma base de donnée et faire une requete (Select * from rssactu Order by heuredate Desc).

Merci

A++ :-))

Nexto (Aliase: fabienfs)
fabien@interplanet.be
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Cherche XPath dans la doc php sur php.net.

Mais attention...ce sera toujours plus lent et plus couteux qu'une recherche dans une base, hein.



PS : XPath, tu trouveras ça avec les fonctions XML : DOMXML, ou SimpleXML, ou DOM tout court.
Messages postés
1
Date d'inscription
samedi 19 avril 2003
Statut
Membre
Dernière intervention
24 octobre 2005

tres interressant ça permet de faire des tonnes de choses

sur clubic y'a la meme chose :p

http://www.clubic.com/divers/tutorial-xml.php

si kel kun serai comment inserer ça dans une table sql ? ça serai super !!! j'ai beau chercher j'arrive pas

Merci flk0@msn.com
Messages postés
153
Date d'inscription
dimanche 2 octobre 2005
Statut
Membre
Dernière intervention
27 juillet 2006
1
Bah oui sa vien de clubic jai pas dit le contraire Mais moi je cherche à le modifier pour mettre plusieur adresse de flux rss dans le même reader


A++

Nexto (Alias: fabienfs)
fabien@interplan