Page 1 sur 1

sql vers rss

Posté : 18 mars 2007, 19:39
par loubets
Bonjour,

je suis en train d'essayer de construire un flux rss depuis une base de donnée.
Le problème c'est que le fichier xml en sortie reste vide.
Quelqu'un aurait il la gentillesse de voir si j'ai commis une erreur dans le code ?
<?php

// édition du début du fichier XML
$xml = '<?xml version="1.0" encoding="iso-8859-1"?><rss version="2.0">';
$xml .= '<channel>'; 
$xml .= '<title>Titre du channel</title>';
$xml .= '<link>http://www.monsite.com</link>';
$xml .= '<description>Description du channel</description>';

// connexion a la base
@mysql_connect($host='****',$user='*****',$pwd='****') or die("Connexion impossible");
@mysql_select_db($base='****') or die("Echec de selection de la base");

// selection des 5 dernieres annonces
$res=mysql_query("SELECT * FROM websiteadmin_re_ads ORDER BY date DESC LIMIT, 10");


// extraction des informations et ajout au contenu
while($tab=@mysql_fetch_array($res)){   
	$id=$tab[id];
	$headline=$tab[headline];
	$price=$tab[price];
	$description=$tab[description];
	$date=$tab[date];
	$date2=date("D, d M Y H:i:s", strtotime($date));

	$xml .= '<item>';
	$xml .= '<id>'.$id.'</id>';
	$xml .= '<headline>'.$headline.'</headline>';
	$xml .= '<price>'.$price.'</price>';
	$xml .= '<link>www.test.com</link>';
	$xml .= '<date>'.$date.' GMT</date>'; 
	$xml .= '<description>'.$description.'</description>';
	$xml .= '</item>';	
} 

// édition de la fin du fichier XML
$xml .= '</channel>';
$xml .= '</rss>';

// écriture dans le fichier
$fp = fopen("flux.xml", 'w+');
fputs($fp, $xml);
fclose($fp);
@mysql_close();

?> 
Merci d'avance :)

Posté : 18 mars 2007, 19:53
par Truc
Salut,

Test simple : affichage de la variable $xml après la boucle

Posté : 18 mars 2007, 19:54
par Ryle
C'est le fichier xml qui est vide ou le flux rss ?

La syntaxe de ton LIMIT en SQL ne me semble pas correcte, il ne devrait pas y avoir de virgule entre l'instruction et la valeur...

Tu devrais virer les "@" et gérer les éventuelles erreurs plutôt que de les cacher, ca te donnerait sans doute plus d'info sur ce qui ne va pas ;)

Posté : 19 mars 2007, 07:03
par ghalaad
Autre piste (en plus de celles déjà citées pour lesquelles je plussoie *de toute force*): une chaine a une longueur limitée.
Et à la place :
$tab[price]
mets :
$tab['price']