Hämta väder.

PHP

6 svar · 432 visningar · startad av stevenet

Medlem sedan juni 20001 251 inlägg
Trådstart#1

Något är fel, men vad? http://top100.fl-net.se/anpassa/hamta_vader.php

<? require('installningar.php') ?>
<?
$tid=time();
$db = mysql_connect("$db_host", "$db_user", "$db_pass");
mysql_select_db("$db_namn",$db) or die( "$id kunde inte hittas");
$resultat = mysql_query("select * from vaderlista ORDER BY ett DESC");
while($s = mysql_fetch_row($resultat)) {

  $hittat=1;
  $adress="http://www.tjohoo.se/kommun.php3?lan=$s[0]&stad=$s[1]";
  $file = fopen("$adress", "r");
  if (!$file) 
  {
    $hittat=0;
    echo "<p>Kan inte upprätta förbindelse med tjohoo.\n";
    exit;
  }
  
  while (!feof($file)) {
    $line = fgets($file, 1024);
           
    if (eregi("<IMG SRC=\"nyheter/images/vader/(.*).gif\" ALIGN=\"left\" HSPACE=\"4\" VSPACE=\"2\">(.*).<BR>", $line, $outd)) {
      $bild= $outd[1];
      $text= $outd[2]; 
   }
    if (eregi("<B>Temp:</B> (.*)<BR>", $line, $outs)) {
      $temp= $outs[1]; 
   } 
    if (eregi("<B>Vind:</B> (.*)", $line, $outf)) {
      $vind= $outf[1]; 
  }
}
  fclose($file);

  if ($hittat==1) {
  $kontroll = mysql_num_rows(mysql_query("select * from vader where nr='$s[0]' AND stad='$s[1]'"));
   if ($kontroll) {
   mysql_query("UPDATE vader SET kom='$s[2]',lan='$s[3]',temp='$temp',bild='$bild',text='$text',vind='$vind' WHERE nr='$s[0]' AND stad='$s[1]'");
   }
   else {
   mysql_query("insert into vader (nr,stad,kom,lan,temp,vind,text,bild) values ('$s[0]','$s[1]','$s[2]','$s[3]','$text','$temp','$vind','$bild')");
   }
  }

}
mysql_close();
?>
Medlem sedan juli 2000212 inlägg
#2

Detta har inget med scriptet att göra med det har med väder att göra:

Ett stort antal flygplater är med i ett väder project som heter METAR. Dessa flygplatser sammlar massa väder observationer varje timme och skickar till METAR databasen(textfiler) som långa strängar, METAR kod. Dessa text filer kan man hämta från servern med php och behandla och man kan då få fram aktuell väder info från det området där flygplatsen ligger.

Det finns en functions biblotek som kallas phpweather som gör detta enkelt för en.

Kanske något intressant att kolla in?

/Nisse

Medlem sedan feb. 20001 270 inlägg
#3

niels
Och detta finns var!?

Medlem sedan feb. 20001 050 inlägg
#4

Ah, vad trevligt. PHPWeather finns här: http://www.gimpster.com/php/phpweather/index.php . Cool med så mycket väderdata, från svenska flygplatser till och med :) Nu återstår bara att skriva det där lilla scriptet som tar alla METAR data och producerar en prognos för den kommande veckan. Det kan väl inte vara så svårt ;) Något för dig Woodi?

Nä, jag tror jag köper en prognos från typ SMHi istället http://www.metworld.com/site/

/nicclas

Medlem sedan juni 20001 251 inlägg
#5

Problemet med mitt script är att det verkar stå stilla vid 331 kopplingar. Hur många kopplingar tror ni man kan göra som mest?

Medlem sedan feb. 20001 270 inlägg
#6

stevenet
Varför både en insert och en update sats i slutet!?

Kör följande istället:

mysql_query("replace vader set nr='$s[0]',stad='$s[1]',kom='$s[2]',lan='$s[3]',temp='$temp',vind='$vind',text='$text',bild='$bild'");

I detta fall uppdateras posten om den redan finns, i annat fall läggs en ny post till.

Dessutom har Du vänt på en del värden i din insert sats.. $vind läggs till i text bl.a.

Finns ingen begränsning på hur många kopplingar Du kan göra, det är timeout tiden för dina PHP-script som avgör hur länge det får hålla på..

Medlem sedan juni 20001 251 inlägg
#7

Jag har gjort en del ändringar och scriptet fungerar utmärkt nu. Tack ändå!

259 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)