|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
wydook66 WRInaute occasionnel

Inscrit le: 03 Juil 2005 Messages: 145
|
Posté le : Lun Oct 03, 2005 12:37 Sujet du message: flux rss |
|
|
Bonjour à tous.
J'ai mis en place des flux rss, et les webmaster d'autres site qui affiche mes flux rss me demandent s'il serait possible que chaque flux soit daté sur leur site également. Sur le mien c'est daté , mais chez eux ils n'ont que le titre des news sans date.
prenont l'exemple des titres "actualité dans le monde" ici http://www.meteo-world.com/ il sont daté
et chez eux a l'aide de ce flux http://www.meteo-world.com/rss/rss_monde.php
ils ne sont pas daté.
Etant donné que les news sont daté dans la bdd, peut on ecrire les dates et heures de chaque news dans les flux rss ? Si oui comment ?
Merci |
|
| |
|
 |
haderach WRInaute passionné

Inscrit le: 26 Aoû 2004 Messages: 840 Localisation: Une grotte dans les Vosges. En attente de dégroupage total
|
Posté le : Lun Oct 03, 2005 14:58 Sujet du message: flux rss |
|
|
Dans tes fichiers rss, la date des articles n'est pas présentes.
Le champ pubDate doit être présent...
C'est pour cette raison que tes partenaires n'affichent pas la date |
|
| |
|
 |
wydook66 WRInaute occasionnel

Inscrit le: 03 Juil 2005 Messages: 145
|
Posté le : Lun Oct 03, 2005 15:37 Sujet du message: flux rss |
|
|
Ca ne reprend pas la date et heure de la base de donnée
La je vient de le tester en mettant pudate, et tous les titres du fil ont la meme date  |
|
| |
|
 |
Tilt WRInaute passionné

Inscrit le: 26 Mar 2005 Messages: 744
|
Posté le : Lun Oct 03, 2005 16:40 Sujet du message: flux rss |
|
|
si tu insères une balise <pubdate> le format de la date est obligatoirement RFC 822:
i.e. "Thu, 21 Dec 2000 16:01:07 +0200"
ça veut dire quoi ? ça veut dire que si tu build ton feed en php, et que la date de ton article est stockée dans $date_bdd, tu dois la reformater comme ça:
date("r",$date_bdd)
Exemple, un extrait de mon propre xml builder maison:
$xml ="<item>\n";
$xml .="<author>auteur@ton_auteur.com (auteur)</author>\n";
$xml .="<title>".$titre."</title>\n";
$xml .="<link>".$root."/droit/".$id."-".rewrite_url($titre)."/</link>\n";
$xml .="<pubDate>".date("r",$date)."</pubDate>\n";
$xml .="<guid>".$root."/droit/".$id."-".recrire_url($titre)."/</guid>\n";
$xml .="<comments>".$root."/droit/".$id."-".rewrite_url($titre)."/</comments>\n";
$xml .="<description>\n";
$xml .= $news;
$xml .="</description></item>\n";
bon courage |
|
| |
|
 |
haderach WRInaute passionné

Inscrit le: 26 Aoû 2004 Messages: 840 Localisation: Une grotte dans les Vosges. En attente de dégroupage total
|
Posté le : Lun Oct 03, 2005 16:50 Sujet du message: flux rss |
|
|
| Et pour la lecture de la date tu utilises quelle fonction? |
|
| |
|
 |
Tilt WRInaute passionné

Inscrit le: 26 Mar 2005 Messages: 744
|
Posté le : Lun Oct 03, 2005 17:28 Sujet du message: flux rss |
|
|
ben si tu as un agrégateur standard il doit être capable de le faire. je te conseille magpie.
Et tu refais le chemin en sens inverse: une fois extraite la date entre les 2 balises <pubdate>, par ex. dans la variable $date_extraite, tu la reformates comme ça:
$date_extraite=date("d.m.Y",$date_extraite);
tu auras ta date dans ce format: 3.10.2005
pour l'extraction en elle-même de la date contenue entre les 2 balises, si tu n'utilises pas magpie, il faut utiliser une expression régulière, type ereg en php. |
|
| |
|
 |
wydook66 WRInaute occasionnel

Inscrit le: 03 Juil 2005 Messages: 145
|
Posté le : Lun Oct 03, 2005 19:47 Sujet du message: flux rss |
|
|
Bon après mainte tentative je revient vers vous.
J'ai fait ceci
| Code: |
<?php
//flux RSS
header('Content-Type: text/xml; charset=iso-8859-1');
include("***.php");
$rs = mysql_query('SELECT * FROM n** ORDER BY id DESC LIMIT 0,10') or die(mysql_error());
echo '<?xml version="1.0" encoding="iso-8859-1" ?>';
echo '<rss version="2.0">';
echo '<channel>';
echo '<title>Meteo-world</title>';
echo '<link>http://www.meteo-world.com</link>';
echo '<description>L\'actualite meteo en france</description>';
echo '<pubDate>".date("r",$date)."</pubDate>\n';
echo '<language>fr</language>';
while($rss = mysql_fetch_array($rs))
{
echo '<item>';
echo '<title>'.stripslashes(html_entity_decode($rss['titre'])).'</title>';
echo '<link>http://www.meteo-world.com/news/index_france-'.$rss['id'].'.php</link>';
echo '<pubDate>".date("r",$date)."</pubDate>\n';
echo '</item>';
}
echo '</channel>';
echo '</rss>';
?> |
et ca me donne ceci :
http://www.meteo-world.com/rss/rss_france2.php
Il m'affiche donc ca dans pubdate > <pubDate>".date("r",$date)."</pubDate>
 |
|
| |
|
 |
haderach WRInaute passionné

Inscrit le: 26 Aoû 2004 Messages: 840 Localisation: Une grotte dans les Vosges. En attente de dégroupage total
|
Posté le : Lun Oct 03, 2005 22:24 Sujet du message: flux rss |
|
|
Cette ligne n'est pas bonne
echo '<pubDate>".date("r",$date)."</pubDate>\n';
Tu a mis date("r",$date) entre des double cotes. C'est donc considéré comme une chaine de caracteres.
date() est une fonction php. $date est une variable. Il faut donc que tu affectes cette variable (ce qui n'est pas le cas dans ton code). Il faut affecter à cette varaible la date qui est dans ta base de données.
et ensuite du fait
$date_rss = date("r",$date_de_la_base);
echo '<pubDate>'.$date_rss.'</pubDate>\n'; |
|
| |
|
 |
wydook66 WRInaute occasionnel

Inscrit le: 03 Juil 2005 Messages: 145
|
Posté le : Mar Oct 04, 2005 8:12 Sujet du message: flux rss |
|
|
Ca donne ca : http://www.meteo-world.com/rss/rss_france2.php
<pubDate>Thu, 1 Jan 1970 01:00:00 +0100</pubDate>
j'ai fait ca:
| Code: |
<?php
//flux RSS
header('Content-Type: text/xml; charset=iso-8859-1');
include("***.php");
$rs = mysql_query('SELECT * FROM *** ORDER BY id DESC LIMIT 0,10') or die(mysql_error());
echo '<?xml version="1.0" encoding="iso-8859-1" ?>';
echo '<rss version="2.0">';
echo '<channel>';
echo '<title>Meteo-world</title>';
echo '<link>http://www.meteo-world.com</link>';
echo '<description>L\'actualite meteo en france</description>';
echo '<language>fr</language>';
$date_rss = date("r",$date);
while($rss = mysql_fetch_array($rs))
{
echo '<item>';
echo '<title>'.stripslashes(html_entity_decode($rss['titre'])).'</title>';
echo '<link>http://www.meteo-world.com/news/index_france-'.$rss['id'].'.php</link>';
echo '<pubDate>'.$date_rss.'</pubDate>\n';
echo '</item>';
}
echo '</channel>';
echo '</rss>';
?> |
La table date est un datetime il y a donc an mois jour heure min sec |
|
| |
|
 |
wydook66 WRInaute occasionnel

Inscrit le: 03 Juil 2005 Messages: 145
|
Posté le : Jeu Oct 06, 2005 15:25 Sujet du message: flux rss |
|
|
| up |
|
| |
|
 |
Lymf WRInaute occasionnel

Inscrit le: 12 Mai 2005 Messages: 188 Localisation: bxl.be
|
Posté le : Jeu Oct 06, 2005 15:28 Sujet du message: flux rss |
|
|
et quand tu print $date tout cours?
perso chez moi ca affiche ca :
| Code: |
| <pubDate>Thu, 1 Jan 1970 01:33:25 +0100</pubDate> |
|
|
| |
|
 |
wydook66 WRInaute occasionnel

Inscrit le: 03 Juil 2005 Messages: 145
|
Posté le : Jeu Oct 06, 2005 15:56 Sujet du message: flux rss |
|
|
Ca y est j'ai trouver.
Maintenant comment je voudrais savoir comment peut faire un webmaster qui veut afficher ce fil dans son site
http://www.meteo-world.com/rss/rss_france.php
? |
|
| |
|
 |
| |
|
|