Données pas toujours affichées

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Données pas toujours affichées

Re: Données pas toujours affichées

par derbis » 25 mars 2013, 08:51

il faut un peu de chance aussi...
pour implode /explode oui c'est plus délicat effectivement.

Re: Données pas toujours affichées

par sirakawa » 24 mars 2013, 20:29

Pas de façon simple, car le tableau affiché est un tableau HTML et implode/explode opèrent sur des tableaux PHP.
Mais une fois qu'on a trouvé où se trouve la partie intéressante du tableau,
J'ai eu du pot; ligne 89 CALM

Re: Données pas toujours affichées

par derbis » 24 mars 2013, 17:29

merci pour votre aide.
sirakawa, le résultat de votre code est ici http://meteo-aouste.net84.net/p5.php difficile de dire sur quelle ligne situe le mot Calm.
moi aussi je pensé que la fonction explode permettrai d'extraire les données correctement.(mais je suis pas assez fort en php...)
tout le code que j'ai pour mon site utilise la fonction split.

Re: Données pas toujours affichées

par sirakawa » 24 mars 2013, 16:38

Plusieurs remarques:
1) $page n'est pas initialisée, d'où un warning à la première ligne..
2) Il est inutile de faire fgets($fp, 4096) puisque sans deuxième paramètre, il va jusqu'aubout de la ligne ou du fichier, le premier des deux qu'il trouve.
3) Surtout, split ne doit plus être utilisé (http://www.php.net/manual/fr/function.split.php) => je réfléchis à une solution avec explode puisqu'il s'agit d'un tableau (j'ai vérifié)
Il faudrait s'assurer que les données que tu veux sont toujours à partir de la même ligne, qu'il y ait CALM ou une vitesse de vant.
je suggère de tester ces quelques lignes
$url="http://www.weatherlink.com/user/cigale26/index.php?view=summary&headers=1";
$fp = @fopen($url,"r"); //lecture du fichier
$n_ligne = 1;
if ($fp)
{
	while (!feof($fp)) 
	{
		$ligne = fgets($fp); // lecture du contenu de la ligne
		$ligne = trim ( $ligne , " \t\n\r\0\x0B\x0D" );
		if ($ligne != "")
		{
			print "<br>Numéro ligne $n_ligne Ligne >>>>$ligne<<<";
			$n_ligne ++;
		}
    }
}
et de repérer à quel numéro de ligne apparaît CALM quand il apparaît...

Re: Données pas toujours affichées

par derbis » 24 mars 2013, 10:25

à d'accord, mais c'est encore trop complexe pour moi...cette affaire.

il n'y as pas un moyen de récupérer la valeur Calm de la moyenne du vent sur 10 minutes et 2 minutes et l'afficher ?

ainsi que la rafale maximum (Wind Gust Speed) puis quelles sont affichées par temps calme (donc sans vent) sur ma page Davis > http://www.weatherlink.com/user/cigale2 ... &headers=1

ca donnerait (quand il n'y a pas de vent):

moyenne sur 2 minutes :Calm
moyenne sur 10 minutes :Calm
Rafale maxi: xxx km/h

(les autres valeurs sont récupéré sans sessions).

Re: Données pas toujours affichées

par sirakawa » 24 mars 2013, 10:06

bien sûr, mais si tu regardes bien, tu vois que si le temps est calme, les données sur le vent se limitent à calm.
Pour faire ce que tu,veux, il faudrait stocker tes données sur le vent en session et comparer les données stockées avec les données acquises
$t=split("summary_data\">",$t[0]); je présume que c'est là que se trouve "Calm";

Re: Données pas toujours affichées

par derbis » 23 mars 2013, 21:38

cela m'affiche toute les données de la page généré par Davis sans les images, résultat inexploitable en l'état. :non:

Re: Données pas toujours affichées

par sirakawa » 23 mars 2013, 21:19

Fais un:
echo($page);
pour voir....

Données pas toujours affichées

par derbis » 23 mars 2013, 17:47

Ce code fonctionne bien quand il y a du vent, il extrait les informations du vent de cette page web (générée automatiquement par la société Davis, et mis à jour par ma station météo)
http://www.weatherlink.com/user/cigale2 ... &headers=1

Ce site n'étant pas de mon gout, j'ai crée un autre site pour présenter les données
ici> http://meteo-aouste.net84.net (encore basic ...)

Exemple quand il y a du vent, voici le résultat du script sur le site que j'ai crée:
Image

si il n'y a pas de vent voici le résultat du script sur le site que j'ai crée:
Image

je n'ai plus à l'affichage, la derniere direction du vent, la moyenne sur 10 minutes,
rafale, et rafale maxi...
cela disparait de l'affichage sur mon site, alors que sur le site http://www.weatherlink.com/user/cigale2 ... &headers=1
les valeurs y sont affichées.
j'aimerais que l'es valeurs reste constamment à l'affichage même quand il n'y a pas de vent !
<?php
$url="http://www.weatherlink.com/user/cigale26/index.php?view=summary&headers=1";
$fp = @fopen($url,"r"); //lecture du fichier
if ($fp){
        while (!feof($fp)) {
                $page .= fgets($fp, 4096); // lecture du contenu de la ligne
        }
}
echo" &#160 &#160 &#160 &#160 &#160 &#160";
echo '<strong><span style="color:#9D00A3;">Vent (mesure à 6.15m)</strong><br></span>';
$t=split("Wind Speed",$page);
$t=split("</tr>",$t[1]);
$t=split("summary_data\">",$t[0]);
$ta=split(" km/h",$t[1]);
echo "Vent vitesse  (km/h): ".$ta[0]."<br>";

$t=split("Wind Direction",$page);
$t=split("</tr>",$t[1]);
$t=split("summary_data\">",$t[0]);
$tb=split("</td>",$t[1]);
echo "Direction du vent: ".$tb[0]."<br>";

$t=split("Average Wind Speed",$page);
$t=split("</tr>",$t[1]);
$t=split("summary_data\">",$t[0]);
$ta=split(" km/h",$t[1]);
echo "Moyenne sur 2 minutes: ".$ta[0]."<br>";

$t=split("Average Wind Speed",$page);
$t=split("</tr>",$t[1]);
$t=split("summary_data\">",$t[0]);
$tb=split("km/h",$t[2]);
echo "Moyenne sur 10 minutes: ".$tb[0]."<br>";

$t=split("Wind Gust Speed",$page);
$t=split("</tr>",$t[1]);
$t=split("summary_data\">",$t[0]);
$tb=split("km/h",$t[2]);
echo "Rafale sur 10 minutes: ".$tb[0]."<br>";

$t=split("Wind Speed",$page);
$t=split("</tr>",$t[1]);
$t=split("summary_data\">",$t[0]);
$tb=split("</td>",$t[2]);
echo "Vent maxi: ".$tb[0]." ";

$t=split("Wind Speed",$page);
$t=split("</tr>",$t[1]);
$t=split("summary_data\">",$t[0]);
$tb=split("</td>",$t[3]);
echo "à (".$tb[0].")<br>";

?>


Comment faire ?
Merci.