Forum GraphWeather

Forum d'aide GraphWeather
Nous sommes actuellement le Sam Avr 27, 2024 2:24 pm

Le fuseau horaire est UTC+1 heure




Publier un nouveau sujet Répondre au sujet  [ 1 message ] 
Auteur Message
 Sujet du message: Creer un flux RSS sur son site
MessagePublié: Lun Déc 20, 2010 10:34 am 
Hors-ligne
Membre
Avatar de l’utilisateur

Inscription : Mar Juil 20, 2010 6:23 pm
Message(s) : 173
Localisation : Vers-sur-lot (46)
Bonjour, suite à une discussion sur le forum, je me suis penché sur la possibilité de créer un flux RSS contenant les données météo. Ctmoi a donné une solution pour exporter directement de GW ici:http://www.aguilmard.com/phpBB3/viewtopic.php?f=2&t=48&st=0&sk=t&sd=a
Pour ma part, vu que j'utilise MySQL j'ai fait un petit script php qui crée le fichier xml nécessaire au flux à partir de la bdd. Je vous le donne au cas où ça intéresserait quelqu'un. :)
Code :
<?php
// édition du début du fichier XML pour les données
require("WS3650/_meteo.php");
date_default_timezone_set('Europe/Paris');

// L'entête du fichier
$xml = '<?xml version="1.0" encoding="iso-8859-1"?><rss version="2.0">';
$xml .= '<channel>';
$xml .= '<title>Données météo</title>';
$xml .= '<link>http://www.vers-sur-lot.fr/meteo/meteo.php</link>';
$xml .= '<description>Météo Vers </description>';

// connexion a la base
include("connect_meteo.php");

@mysql_connect($adresse,$nom,$motdepasse) or die("Connexion impossible");
@mysql_select_db("db_meteo") or die("Echec de selection de la base");

// On récupère le dernier enregistrement

$repmax = "SELECT MAX(`dateUNIX`) AS maxi FROM Base2010"; //la date maxi sera la maxi de la derniere table
         $reqmax = mysql_query($repmax) or die('Erreur : '.mysql_error());
         $datemax = mysql_fetch_assoc($reqmax);
         $TsMax = $datemax['maxi'];
         
$reponse = mysql_query ("SELECT * FROM $Base where dateUNIX=$TsMax") or die('Erreur SQL !'.$reponse.'<br>'.mysql_error());
$rs = mysql_fetch_array($reponse);

// extraction des informations   
   $TsUnix=$rs[0]; $datejour = date('d/m/Y à H:i',$TsUnix);
   $TempOut=$rs[11];   $RelPress = $rs[3];
   $Pluie=$rs[9];   $vent=$rs[7];
   
//rajout au contenu du xml
$xml .= '<item>';
$xml .= '<title>Le: '.$datejour.' Temp: '.$TempOut.'°C</title>';
$xml .= '<link>http://www.vers-sur-lot.fr/meteo/meteo.php</link>';
$xml .= '<description></description>';
$xml .= '</item>';   

   $xml .= '<item>';
   $xml .= '<title>Pression: '.$RelPress.' Hpa</title>';
   $xml .= '<link>http://www.vers-sur-lot.fr/meteo/meteo.php</link>';
   $xml .= '<description></description>';
   $xml .= '</item>';   
   
   $xml .= '<item>';
   $xml .= '<title>Pluie: '.$Pluie.' mm</title>';
   $xml .= '<link>http://www.vers-sur-lot.fr/meteo/meteo.php</link>';
   $xml .= '<description></description>';
   $xml .= '</item>';   
   
   $xml .= '<item>';
   $xml .= '<title>Vent: '.$vent.' Km/h</title>';
   $xml .= '<link>http://www.vers-sur-lot.fr/meteo/meteo.php</link>';
   $xml .= '<description></description>';
   $xml .= '</item>';   

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

// écriture dans le fichier
$fp = fopen("/home/verssurl/public_html/meteo/fluxdonnees.xml", 'w+');
//$fp = fopen("flux2.txt", 'w+');

fputs($fp, $xml);
fclose($fp);
@mysql_close();

?>


Ensuite il n'y a plus qu'à mettre un appel au flux sur votre page (dans la section [head]) de cette façon:
<link rel="alternate" type="application/rss+xml" href="http://www.vers-sur-lot.fr/meteo/fluxalerte.xml" title="Alertes météo">

Ce fichier n'a plus qu'à s'exécuter à intervalles réguliers et le tour est joué.

Pat

_________________
Station: WS3650, HeavyWeather3600 1.1, GraphWeather 2.O.312b (essai v3 mais soucis), XP SP2, données stockées automatiquement en BDD MySQL en local et sur le site avec scripts PHP fabrication maison.
Image


Haut
 Profil  
Répondre en citant  
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 1 message ] 

Le fuseau horaire est UTC+1 heure


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 46 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Recherche de:
Aller vers :  
POWERED_BY
Traduction et support en françaisHébergement de site