Flux RSS

Eléphanteau du PHP | 24 Messages

11 avr. 2012, 19:52

Bonsoir à tous,

Je reviens vers vous car je dois dire que vous êtes d'une grande aide !
Voilà un petit moment que j'ai créer un script pour réaliser un Flux RSS. La page se créée bien, seulement il ne récupère pas les informations dans ma BDD ! #-o

<?php
 $xml = '<?xml version="1.0" encoding="UTF-8"?'.'>';
 $xml .= '<rss version="2.0">'; 
 $xml .= '<channel>'; 
 $xml .= '<title></title>';
 $xml .= '<link>http://www.monsite.com</link>';
 $xml .= '<description>Toute notre actualité en un clic !</description>';
 $xml .= '<copyright>2012</copyright>';
 $xml .= '<language>fr</language>';
/* $xml .= '<image>';
 $xml .= ' <title>monsite</title>';
 $xml .= ' <url>http://monsite.com/images/logo_flux.png</url>';
 $xml .= ' <link>http://www.monsite.com</link>';
 $xml .= '</image>';*/
 $today= date("D, d M Y H:i:s +0100");
 //date du jour d'execution du fichier PHP
 $xml .= '<pubDate>'.$today.'</pubDate>';
 require ('includes/config.php'); 
  // Faîtes appel à vos fichier de connection à votre base de donnée MySQL
  // Adaptez ces lignes à votre base de données / noms de table
  $resultat_requete=mysql_query("SELECT * FROM article ORDER BY DateArticle DESC limit 0, 10");
  // extraction des 10 dernières nouvelles
  while($lig=mysql_fetch_assoc($resultat_requete)){ 
    $titre=$lig["TitreArticle"];
    $adresse="http://www.monsite.com/article.php?id=".$lig["NoAutoArticle"];
    $contenu=$lig["DescriptionArticle"];
    $date=$lig["DateArticle"];
    $datephp=date("D, d M Y H:i:s +0100", $date);
    $xml .= '<item>';
    $xml .= '<title>'.$titre.'</title>';
   $xml .= '<link>'.$adresse.'</link>';
    $xml .= '<guid>'.$adresse.'</guid>';
    $xml .= '<pubDate>'.$datephp.'</pubDate>'; 
    $xml .= '<description>'.$contenu.'</description>';
    $xml .= '</item>'; 
  }//fin du while
  $xml .= '</channel>';
  $xml .= '</rss>';
  
  $fp = fopen("fluxrss.xml", 'w+');
  fputs($fp, $xml);
  fclose($fp);
  
  echo 'Export XML effectue !<br /><a href="fluxrss.xml">Voir 
  le fichier</a>';
  ?>

Merchi de votre aide ! :)

ViPHP
xTG
ViPHP | 7331 Messages

11 avr. 2012, 20:56

Testes le retour d'erreur :
$resultat_requete=mysql_query("SELECT * FROM article ORDER BY DateArticle DESC limit 0, 10") or die(mysql_error());

Eléphanteau du PHP | 24 Messages

11 avr. 2012, 22:03

Alors j'ai testé et en effet il y a une erreur SQL.
Le résultat me retourne ceci : Access denied for user 'www-data'@'localhost' (using password: NO)

J'imagine donc qu'il y a un problème de password, seulement... dans mon code j'utilise le include("includes/config.php"); et c'est le même fichier pour mon flux rss que mon site. Et sur mon site cela fonctionne... :roll:

ViPHP
xTG
ViPHP | 7331 Messages

12 avr. 2012, 09:40

Beh il faut croire que non, vérifies bien.
Et surtout vérifies que tu utilises le même jeu de fonction (par exemple une connexion avec PDO et puis une requête avec mysql_query ça fait pas trop de bien).

Eléphanteau du PHP | 24 Messages

12 avr. 2012, 10:01

Je te remercie. Je vérifierai au niveau des fonctions alors !

Eléphanteau du PHP | 24 Messages

15 avr. 2012, 14:05

Alors j'ai vérifié, j'avais oublié cette ligne : mysql_connect($host, $user, $pass) or die("Impossible de se connecter : " . mysql_error()); (blonde.. blonde.. blonde !)

Mais maintenant, ma page Rss s'affiche bien mais ne récupère pas mes données. Est-ce normal ?

Normalement elle devrait m'affiché tous les articles déjà entré dans ma BDD non ? :roll:

Eléphanteau du PHP | 24 Messages

16 avr. 2012, 15:29

Up :roll:

ViPHP
ViPHP | 2577 Messages

16 avr. 2012, 15:34

Peut être le choix de la base de données.
Mais est ce que le mysql_query retourne une erreur ?

Eléphanteau du PHP | 24 Messages

16 avr. 2012, 15:35

Non aucune, en faite ma page existe bien la structure, le "design" etc. Mais il ne m'affiche aucune des news pourtant j'en ai dans ma BDD.

ViPHP
ViPHP | 2577 Messages

16 avr. 2012, 15:45

je pensais à mysql_ select_ db() puisque tu avais oublié la connexion.

Eléphanteau du PHP | 24 Messages

16 avr. 2012, 15:46

Oh pardon, autant pour moi.

Je testerai ça dès que je suis à la maison ! :D

Eléphanteau du PHP | 24 Messages

17 avr. 2012, 20:23

Alors j'ai regardé, et je n'ai aucune erreur qui s'affiche.

En fait, j'ai que ça :
Image

C'est vraiment bizarre...
<?php
 $xml = '<?xml version="1.0" encoding="UTF-8"?>';
 $xml .= '<rss version="2.0">'; 
 $xml .= '<channel>'; 
 $xml .= '<title></title>';
 $xml .= '<link>http://www.monsite.com</link>';
 $xml .= '<description>Toute notre actualité en un clic !</description>';
 $xml .= '<copyright>b 2012</copyright>';
 $xml .= '<language>fr</language>';
/* $xml .= '<image>';
 $xml .= ' <title></title>';
 $xml .= ' <url>http://monsite.com/images/logo_flux.png</url>';
 $xml .= ' <link>http://www.monsite.com</link>';
 $xml .= '</image>';*/
 $today= date("D, d M Y H:i:s +0100");
 //date du jour d'execution du fichier PHP
 $xml .= '<pubDate>'.$today.'</pubDate>';
 require ("includes/config.php"); 
  // Faîtes appel à vos fichier de connection à votre base de donnée MySQL
  mysql_connect($host, $user, $pass) or die("Impossible de se connecter : ". mysql_error());
  mysql_select_db($db) or die("Select `$db` impossible : ". mysql_error());
  mysql_query("SET NAMES UTF8");
  // Adaptez ces lignes à votre base de données / noms de table
  $resultat_requete=mysql_query("SELECT * FROM article ORDER BY DateArticle DESC limit 0, 10") or die(mysql_error());;
  // extraction des 10 dernières nouvelles
  while($lig=mysql_fetch_assoc($resultat_requete)){ 
    $titre=$lig["TitreArticle"];
    $adresse="http://www.monsite.com/article.php?id=".$lig["NoAutoArticle"];
    $contenu=$lig["DescriptionArticle"];
    $date=$lig["DateArticle"];
    $datephp=date("D, d M Y H:i:s +0100", $date);
    $xml .= '<item>';
    $xml .= '<title>'.$titre.'</title>';
   $xml .= '<link>'.$adresse.'</link>';
    $xml .= '<guid>'.$adresse.'</guid>';
    $xml .= '<pubDate>'.$datephp.'</pubDate>'; 
    $xml .= '<description>'.$contenu.'</description>';
    $xml .= '</item>'; 
  }//fin du while
  $xml .= '</channel>';
  $xml .= '</rss>';
  
  $fp = fopen("fluxrss.xml", 'w+');
  fputs($fp, $xml);
  fclose($fp);
  
  echo 'Export XML effectue !<br /><a href="fluxrss.xml">Voir 
  le fichier</a>';
  ?>

Eléphanteau du PHP | 24 Messages

08 mai 2012, 11:25

Up ? :mrgreen:

ViPHP
xTG
ViPHP | 7331 Messages

08 mai 2012, 12:35

Regardes ce que retournes mysql_num_rows().
Et as-tu ouvert le fichier xml final avec un éditeur de texte pour voir ce qu'il avait dans le ventre ?

Eléphanteau du PHP | 24 Messages

08 mai 2012, 13:20

Du genre Notepad ?

Je vais essayer ça ! :mrgreen: