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 :

RSS Dynamique le contenu affiché est vide


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 22
    Par défaut RSS Dynamique le contenu affiché est vide
    bonjour
    j'ai fait un tuto pour un créer un flux rss dynamique mais lorsque je clique pour le voir il m' affiche que le contenu et vide
    code rss.php
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
     
     
    <?php
    function openXML(){
     
    	// Ouverture du fichier
    	$file = new DOMDocument();
    	$file->formatOutput = true; 
    	$file->load("rss.xml"); 
     
    	//On retourne le fichier
    	return $file;
    }
    	function createXML(){
     
    	// Création du fichier en mémoire 
    	$file = new DOMDocument("1.0","utf-8");
     
    	// Création du noeud racine
    	$root = $file->createElement("rss"); //On crée l élément racine
    	$root->setAttribute("version", "2.0"); //On lui ajoute l attribut version (2.0)
    	$root = $file->appendChild($root); //On insère la racine dans le document
     
    	// Création du noeud channel 
    	$element_channel = $file->createElement("channel");//On crée un élément channel
    	$element_channel->setAttribute("id", "actualite"); //On donne un attribut id à notre channel
    	$element_channel->setIdAttribute("id", true);
    	$element_channel = $root->appendChild($element_channel);//On ajoute cet élément à la racine
     
    	// Création du noeud description 
    	$element_description = $file->createElement("description");//On crée un élément description
    	$element_description = $element_channel->appendChild($element_description);//On ajoute cet élément au channel
     
    	// Création du texte pour le noeud description 
    	$texte_description = $file->createTextNode("centre de ressources et d’innovation"); //On crée un texte
    	$texte_description = $element_description->appendChild($texte_description); //On insère ce texte dans le noeud description
     
    	// Création du noeud link et ajout du texte à l élément 
    	$element_link = $file->createElement("link");
    	$element_link = $element_channel->appendChild($element_link);
    	$texte_link = $file->createTextNode("www.site.org");
    	$texte_link = $element_link->appendChild($texte_link);
     
    	// Création du noeud title et ajout du texte à l élément 
    	$element_title = $file->createElement("title");
    	$element_title = $element_channel->appendChild($element_title);
    	$texte_title = $file->createTextNode("Actualite site");
    	$texte_title = $element_title->appendChild($texte_title);
     
    	//On retourne le fichier XML
    	return $file;
    }
     
    	function addOneNews($file, $titre,$datenews, $resume){
     
    	//On récupère le channel
    	$element_channel = $file->getElementsByTagName("channel")->item(0); // Création du noeud item 
    	$element_item = $file->createElement("item"); // Ajout du noeud 
    	$element_item = $element_channel->appendChild($element_item); 
    	$element_channel = $file->getElementById("actualite");
     
    	// Création du noeud item
    	$element_item = $file->createElement("item");
    	$element_item = $element_channel->appendChild($element_item);
     
    	// Création du noeud title et ajout du texte à l élément 
    	$element_title = $file->createElement("title");
    	$element_title = $element_item->appendChild($element_title);
    	$texte_title = $file->createTextNode($titre);
    	$texte_title = $element_title->appendChild($texte_title);
     
    	// Création du noeud link et ajout du texte à l élément 
    	$element_link = $file->createElement("link");
    	$element_link = $element_item->appendChild($element_link);
    	$texte_link = $file->createTextNode("www.site.org");
    	$texte_link = $element_link->appendChild($texte_link);
     
    	// Création du noeud pubDate et ajout du texte à l élément 
    	$element_date = $file->createElement("pubDate");
    	$element_date = $element_item->appendChild($element_date);
    	$texte_date = $file->createTextNode($datenews);
    	$texte_date = $element_date->appendChild($texte_date);
     
    	// Création du noeud author et ajout du texte à l élément 
    	$element_author = $file->createElement("resume");
    	$element_author = $element_item->appendChild($element_author);
    	$texte_author = $file->createTextNode($resume);
    	$texte_author = $element_author->appendChild($texte_author);
    }
     
    	function saveXML($file){
     
    		//Sauvegarde du fichier
    		$file->save("rss.xml");
    	}
     
    ?>
    scriptpour la page index
    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
    <?php
    	//Création du fichier XML
    	require("rss.php");
    		$file = createXML();
     
    		$connect = mysql_connect('localhost','root','') or die ("erreur de connexion");
    		mysql_select_db('site',$connect) or die ("erreur de connexion base");
    		setlocale (LC_ALL, 'fr_FR'); 
    		$result = mysql_query("SELECT *,type_th,DATE_FORMAT(datenews, '%d %m %Y') AS dateus from actualite,thématique where actualite.id_th=thématique.id_th ORDER BY datenews DESC");
     
    		while($data_news = mysql_fetch_array($result)){
    			addOneNews($file,$data_news['titre'],$data_news['dateus'],$data_news['resume']);
    		}
     
    		mysql_close();
     
    		saveXML($file);
     
    	?>
    le contenu xml créer
    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
    <?xml version="1.0" encoding="utf-8"?>
    <rss version="2.0">
    <channel id="actualite">
    <description>centre </description>
    <link>www.site.org</link><title>Actualite site</title><item/>
    <item>
    <title>conference d'accessibilite</title>
    <link>www.site.org</link>
    <pubDate>15 08 2009</pubDate>
    <resume>bla bala bla bla bla bla bla bla bla bla bla</resume>
    </item>
    <item/>
    <item>
    <title>nouvelle collection </title>
    <link>www.site.org</link>
    <pubDate>31 07 2009</pubDate>
    <resume>bla bala bla bla bla bla bla bla bla bla bla</resume></item>
    <item/>
    <item><title>les normes d'accessibilite</title><link>www.site.org</link>
    <pubDate>30 07 2009</pubDate><resume>bla bala bla bla bla bla bla bla bla bla bla</resume>
    </item>
    <item/>
    <item>
    <title>news : les dernieres marque exclusif</title>
    <link>www.site.org</link><pubDate>23 07 2009</pubDate>
    <resume>hhhh hhhh hhhh hhhhh hhhhhh hhhhh hhhhh hhhhhhhhhhh hhhhh  </resume>
    </item>
    <item/><item>
    <title>projet biv ajouter</title>
    <link>www.site.org</link>
    <pubDate>16 07 2009</pubDate>
    <resume>bla bala bla bla bla bla bla bla bla bla bla</resume>
    </item>
    </channel>
    </rss>
    j'observe qu'il avait un <item/> avant <item> ????????

  2. #2
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    dans ton code tu as 2 fois "$file->createElement("item")"
    il y en a un en trop c'est pour ça que 1 élément sur 2 est vide

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 22
    Par défaut
    mercii bcp j'ai corrigé l'erreur mais malheureusement les information n'affiche pas sachant que le fichier xml est bien remplie
    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
     
    <?xml version="1.0" encoding="utf-8"?>
    <rss version="2.0">
    <channel id="actualite">
    <description>centre de ressources et d’innovation</description>
    <link>www.site.org</link>
    <title>Actualite ceremh</title>
    <item>
    <title>conference d'accessibilite</title>
    <link>www.site.org</link>
    <pubDate>15 08 2009</pubDate>
    <resume>bla bala bla bla bla bla bla bla bla bla bla</resume>
    </item><item><title>nouvelle collection </title>
    <link>www.site.org</link><pubDate>31 07 2009</pubDate>
    <resume>bla bala bla bla bla bla bla bla bla bla bla</resume>
    </item>
    <item>
    <title>les normes d'accessibilite</title>
    <link>www.site.org</link>
    <pubDate>30 07 2009</pubDate>
    <resume>bla bala bla bla bla bla bla bla bla bla bla</resume>
    </item>
    <item>
    <title>news : les dernieres marque exclusif</title>
    <link>www.site.org</link>
    <pubDate>23 07 2009</pubDate>
    <resume>hhhh hhhh hhhh hhhhh hhhhhh hhhhh hhhhh hhhhhhhhhhh hhhhh  </resume>
    </item>
    <item>
    <title>projet biv ajouter</title>
    <link>www.site.org</link>
    <pubDate>16 07 2009</pubDate>
    <resume>bla bala bla bla bla bla bla bla bla bla bla</resume>
    </item>
    </channel>
    </rss>

    j'ai ne sais pas pourquoi?

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Sauf erreur de ma part, il faut dans chaque item au moins un champ <title>, un champ <link> et un champ <description>. Donc je pense que ton champ <resume> devrait être renommé en <description>...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 22
    Par défaut merci
    merci Celira
    j'ai modifier résume par description et les fichier xml est bien rempli mais malheureusement la résultat est nul
    est ce que la connexion avec base de donnée local avait une relation avec ce probléme??

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Une fois que ton fichier xml est généré, la base de données ne joue plus aucun rôle. Donc si ton rss n'est pas parsé par FireFox c'est probablement un problème de structure et/ou de données dedans...

    Si tu retires les <pubDate> de tes items, ça donne quoi ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 22
    Par défaut
    merci celira
    non lorsque j'ai retirée datepub rien à changer par contre si tu vois le fichier xml il est bien rempli par les enregistrement de la base de donnée
    mais il avait une truc
    l'affichage dans rss a été à la même ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?xml version="1.0" encoding="utf-8"?>
    <rss version="2.0"><channel id="actualite"><description>centre de ressources et d’innovation</description><link>www.monsite.org</link><title>Actualite </title><item><title>conference d'accessibilite</title><link>www.monsite.org</link><pubDate>15 08 2009</pubDate><description>bla bala bla bla bla bla bla bla bla bla bla</description></item><item><title>nouvelle collection </title><link>www.monsite.org</link><pubDate>31 07 2009</pubDate><description>bla bala bla bla bla bla bla bla bla bla bla</description></item><item><title>les normes d'accessibilite</title><link>www.monsite.org</link><pubDate>30 07 2009</pubDate><description>bla bala bla bla bla bla bla bla bla bla bla</description></item><item><title>news : les dernieres marque exclusif</title><link>www.monsite.org</link><pubDate>23 07 2009</pubDate><description>hhhh hhhh hhhh hhhhh hhhhhh hhhhh hhhhh hhhhhhhhhhh hhhhh  </description></item><item><title>projet biv ajouter</title><link>www.monsite.org</link><pubDate>16 07 2009</pubDate><description>bla bala bla bla bla bla bla bla bla bla bla</description></item></channel></rss>

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 22
    Par défaut
    est ce qu'il y a une tutorial valide pour créer un rss relier avec base de donnée
    (parce que j'ai appliqué le tuto de developez mais il ne marche plus)

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/06/2013, 13h25
  2. Réponses: 1
    Dernier message: 19/01/2009, 11h01
  3. [PDO] Tuto de site dynamique : le fil de fer est vide
    Par moul0ud dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 01/03/2007, 12h51
  4. [Crystal Report] Champs affichés même si la requête est vide
    Par navis84 dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 25/02/2005, 16h18
  5. Ne pas afficher un champs qui est vide dans ma BD
    Par yoda_style dans le forum ASP
    Réponses: 3
    Dernier message: 27/04/2004, 11h40

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