IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Flux RSS dynamique. [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 29
    Points : 27
    Points
    27
    Par défaut Flux RSS dynamique.
    Bonjour, je poste pour vous demander conseil : j'ai suivi dernièrement un tuto sur le site pour créer un flux RSS de news php.

    On va dire que ça marche plus ou moins bien.

    Ci-dessous, le contenu du fichier rss.php, qui joue son rôle : je peux ajouter des news comme je veux, et l'écriture automatique du fichier news.xml se fait bien comme il faut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    <?php
     
    // édition du début du fichier XML
    $xml = '<?xml version="1.0" encoding="utf-8"?><rss version="2.0">';
    $xml .= '<channel>'; 
    $xml .= '<title>Titre du channel</title>';
    $xml .= '<link>http://cybrades.free.fr</link>';
    $xml .= '<description>Description du channel</description>';
     
    // connexion a la base
    require_once("init.php");
    include(RACINE_SITE.'connect.php');
    include(RACINE_SITE.'connexion.php');
     
    // selection des 5 dernieres news
    $res=mysql_query("SELECT * FROM news");
     
    // extraction des informations et ajout au contenu
    while($tab=mysql_fetch_array($res)){   
    	$titre=$tab['titre'];
    	$lien='http://cybrades.free.fr';
    	$description=$tab['contenu'];
    	$date=$tab['timestamp'];
     
    	$xml .= '<item>';
    	$xml .= '<title>'.$titre.'</title>';
    	$xml .= '<link>'.$lien.'</link>';
    	$xml .= '<pubDate>'.$date.' GMT</pubDate>'; 
    	$xml .= '<description>'.$description.'</description>';
    	$xml .= '</item>';	
    }
     
    // édition de la fin du fichier XML
    $xml .= '</channel>';
    $xml .= '</rss>';
     
    // écriture dans le fichier
    $fp = fopen("news.xml", 'w+');
    fputs($fp, $xml);
    fclose($fp);
    @mysql_close();
     
    ?>
    Et voilà justement le code que ça me génère dans news.xml (normalement j'ai plusieurs items, mais j'en ai laissé qu'un pour alléger.

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?xml version="1.0" encoding="utf-8"?>
    	<rss version="2.0">
    		<channel>
    			<title>Titre du channel</title>
    			<link>http://cybrades.free.fr</link>
    			<description>Description du channel</description>
     
    			<item>
    				<title>Test de news</title>
    				<link>http://cybrades.free.fr</link>
    				<pubDate>1227643507 GMT</pubDate>
    				<description>            Trop bien ca ma'rche  même les modifications  </description>
    			</item>
    		</channel>
    	</rss>

    Et bien sûr je n'ai pas oublié le :

    dans la page d'où on peut s'abonner au flux.

    Et mon problème, et bien c'est que malgré le fait que le fichier xml généré semble bon, lorsque je m'y abonne, le flux m'indique que le chargement a échoué...

    Des idées ?

  2. #2
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonsoir,

    et si tu mets le contenu de la description et du titre dans une balise CDATA afin que le syndicateur d'interprête pas leur contenu en tant que XML ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <description><![CDATA[Le contenu de la descriptionavec n'importe quel caractère]]></description>

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 29
    Points : 27
    Points
    27
    Par défaut
    Vingt dieux !

    Ca marche !

    Merci beaucoup pour la réponse rapide !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Flux RSS dynamique
    Par Robi17 dans le forum Langage
    Réponses: 1
    Dernier message: 27/08/2010, 23h35
  2. Flux RSS pour l'affichage dynamique
    Par maitaddi dans le forum Flash
    Réponses: 1
    Dernier message: 19/10/2007, 16h57
  3. [PHP-JS] Flux RSS dynamique
    Par rifly01 dans le forum Langage
    Réponses: 1
    Dernier message: 31/05/2007, 19h40
  4. [MySQL] Flux RSS pas dynamique
    Par pod1978 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 20/04/2007, 23h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo