Pb d'affichage xml rss de la date timestamp [RESOLU]

Eléphanteau du PHP | 41 Messages

01 avr. 2011, 18:07

Bonjour à tous

Je sais que ce sujet à déjà été traité mais après des recherches je ne trouve pas réponse à mon problème
Voilà je suis en train de travailler sur le rss de mon site, bon je ne suis pas programmeur mais j'arrive à m'en sortir et à comprend quelques principes du PHP
Ici dans le code tous est correct à l'affichage excepter la date qui m'affiche jeudi 1 janvier 1970 00:59 à toutes les entrées, et ça donne la même date partout
le seul souci est la date d'affichage c'est tout ici :
     
        $madate=$lig[date];
        $datephp=date("D, d M Y H:i:s +0100", strtotime($madate));
pourtant il n'y a pas d'erreur et est censé convertir la date en date normal etc

Voici le code en entier ci-dessous :
<?php
$xml = '<?xml version="1.0" encoding="iso-8859-1"?><rss version="2.0">';
$xml .= '<channel>'; 
$xml .= '<title>site.fr</title>';
$xml .= '<link>http://www.site.fr</link>';
$xml .= '<description> collection </description>';
$xml .= '<copyright>© site.fr</copyright>';
$xml .= '<language>fr</language>';
$xml .= '<image>';
$xml .= '    <title>site.fr</title>';
$xml .= '    <url>http://www.site.fr/rss/rss.gif</url>';
$xml .= '    <link>http://www.site.fr</link>';
$xml .= '</image>';
$jourdui= date("D, d M Y H:i:s +0100");
$xml .= '<pubdate>'.$jourdui.'</pubdate>';
 
//Données à complèter pour la connexion à la base de données
$nom_du_serveur ="localhost";
$nom_de_la_base ="root";
$nom_utilisateur ="root";
$passe ="";
$sitepath = "http://www.site.fr/";

//Connexion à la base de données
mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
//Vérification d'accès à la base de données
mysql_select_db("$nom_de_la_base") or die("Impossible d'ouvrir la base de données ");
 
$res=mysql_query("select * from  liens order by id desc ");
 
// extraction des 10 dernièrs articles
while($lig=mysql_fetch_array($res)){   
        $title=$lig[nom];
        $adresse=$lig[url];
        $descr=$lig[description];
        $id=$lig[id];
        $madate=$lig[date];
        $datephp=date("D, d M Y H:i:s +0100", strtotime($madate));
 
            $xml .= '<item>';
            $xml .= '<title><![CDATA['.$title.']]></title>';
            $xml .= '<link>'.$sitepath.'lien_web/visite.php?id='.$id.'</link>';
            $xml .= '<pubDate><![CDATA['.$datephp.']]></pubDate>'; 
            $xml .= '<description><![CDATA['.$descr.']]></description>';
            $xml .= '</item>';    
    }
 
$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>';
?>
Merci à vous pour votre aide
Modifié en dernier par fhardi le 02 avr. 2011, 12:53, modifié 1 fois.

ViPHP
ViPHP | 1996 Messages

01 avr. 2011, 23:39

Le format de $lig[date]; quel est -il ?
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphanteau du PHP | 41 Messages

02 avr. 2011, 12:53

Bonjour

Voilà j'ai remplacé strtotime par gmdate et cela m'a formater et m'affiche correctement la date

@+