Pagina 1 van 3

Overzicht meetstations via xml.buienradar.nl

Geplaatst: 04 jun 2009, 13:03
door WeerstationGraveNL
Ik wil graag een tabel maken met een overzicht van de weergegevens van de Nederlandse meetstations uit xml.buienradar.nl.

Volgens mij moet ik daar onderstaande php voor gebruiken, maar hoe voeg ik dan de tabeltags toe?

/edit:
De code werd verhaspeld.
Hopelijk zo beter leesbaar:


$url = "http://xml.buienradar.nl";
$xml = simplexml_load_file($url);
foreach($xml->weergegevens->actueel_weer->weerstations->weerstation as $weer)
{
echo $weer->stationnaam;
echo $weer->luchtvochtigheid."%";
echo $weer->temperatuurGC;
echo $weer->zichtmeters;
echo $weer->windrichting."-".$weer->windsnelheidBF;
echo "

";
}
?>

Re:Overzicht meetstations via xml.buienradar.nl

Geplaatst: 04 jun 2009, 18:03
door WSL
Hoi Peter,

Wat ik altijd doe is in je php een tabel opbouwen d.m.v. html.

Jou code is volgens mij een beetje te kort door de bocht en gaat niet werken.

Ik heb even iets voor je uitgewerkt. Je kunt het zelf verder aanpassen, uitbreiden en verfraaien met css.

[size=2]
Code: Selecteer alles
<?php

$luchtvochtigheid = array();
$temperatuur = array();
$windsnelheidBFT = array();
$windrichting = array();
$icon = array();
$stationnaam = array();
$zicht = array();
$stationcode = array();

$url = "http://xml.buienradar.nl";
$doc = new DOMDocument();
$doc->load($url);
$waarnemingen = $doc->getElementsByTagName("weerstation");
foreach($waarnemingen as $waarneming)
{
$stationnaam[] = $waarneming->getElementsByTagName('stationnaam')->item(0)->firstChild->nodeValue;
$luchtvochtigheid[] = $waarneming->getElementsByTagName('luchtvochtigheid')->item(0)->firstChild->nodeValue;
$temperatuur[] = $waarneming->getElementsByTagName('temperatuurGC')->item(0)->firstChild->nodeValue;
$windsnelheidBFT[] = $waarneming->getElementsByTagName('windsnelheidBF')->item(0)->firstChild->nodeValue;
$windrichting[] = $waarneming->getElementsByTagName('windrichting')->item(0)->firstChild->nodeValue;
$icon[] = $waarneming->getElementsByTagName('icoonactueel')->item(0)->firstChild->nodeValue;
$zicht[] = $waarneming->getElementsByTagName('zichtmeters')->item(0)->firstChild->nodeValue;
$stationcode[] = $waarneming->getElementsByTagName('stationcode')->item(0)->firstChild->nodeValue;
}
?>
<html>
<head>
</head>
<body>
<table>
<tr>
<td>Naam</td>
<td>Vocht %</td>
<td>Temp °C</td>
<td>Zicht m</td>
<td>Wind Bft</td>
<td>Weer</td>
</tr>
<?php
for ($i=0, $j = count($stationcode);$i < $j; $i++)
{
?>
<tr>
<td><?echo $stationnaam[$i];?></td>
<td><?echo $luchtvochtigheid[$i];?></td>
<td><?echo $temperatuur[$i];?></td>
<td><?echo $zicht[$i];?></td>
<td><?echo $windrichting[$i];?> - <?echo $windsnelheidBFT[$i];?></td>
<td><img src="<?echo $icon[$i];?>" height="30>"</td>
</tr>
<?php
}
?>
</table>
</body>
</html>

[/size]

Het komt er dan als volgt uit te zien: http://www.weerstationleeuwarden.nl/test.php

De code ziet er in Internet Explorer niet uit, maar krijg dat niet anders.

Re:Overzicht meetstations via xml.buienradar.nl

Geplaatst: 04 jun 2009, 18:53
door WeerstationGraveNL
Hoi Sietse,

Inmiddels had ik ook wat geprobeerd (met vallen en opstaan :) ) en kreeg hetzelfde resultaat als jij. Heb even jouw kleurstelling gebruikt:

http://www.bommeltje.nl/testkanweg2.php

Hoe kom jij aan de beschrijving van de weersituatie. Gebruik jij een andere xml?

PS
Ik vergeet je te bedanken voor jouw code.
Ga 'm uitpluizen en toepassen op mijn pagina.
Bedankt !!

Re:Overzicht meetstations via xml.buienradar.nl

Geplaatst: 04 jun 2009, 19:21
door WSL
Hoi Peter,

Ik heb je ook een mailtje gestuurd. Het weerbeeld komt van de website van het KNMI. Echter, dit staat ook in de xml van Buienradar:
http://xml.buienradar.nl/icons/p.gif

Re:Overzicht meetstations via xml.buienradar.nl

Geplaatst: 04 jun 2009, 20:26
door WeerstationGraveNL
In goede orde ontvangen Sietse.
Bedankt voor de moeite.
Het werkt inderdaad prima.

Re:Overzicht meetstations via xml.buienradar.nl

Geplaatst: 04 jun 2009, 21:01
door wslangerak
Ziet er goed uit, Peter (en Sietse natuurlijk)!

Peter even een tipje: Beaufort is met een "t", dus afgekort Bft (kop boven je kolom).

Verder kun je het woord "Meetstation" als je dat zou willen nog weghalen met preg_replace (zie http://nl3.php.net/preg_replace)en de luchtdruk weergeven met één cijfer achter de komma met number_format (zie http://www.sitemasters.be/?pagina=overzicht/overzicht&cat=26&id=298)

http://www.weerstationlangerak.nl/actueelnederland.php

Leuk hè, PHP !! :laugh:

Re:Overzicht meetstations via xml.buienradar.nl

Geplaatst: 04 jun 2009, 21:15
door WeerstationGraveNL
Die vragen spookten al in mijn gedachten Kees :D
En inderdaad; erg leuk dat PHP.
Ik kan goochelen met php als het al een beetje klaar is, maar van begin af aan opstellen zit er voor mij nog niet in.
Ik denk dat ik maar eens een cursus ga volgen.
Die kennis is nooit weg :)

Re:Overzicht meetstations via xml.buienradar.nl

Geplaatst: 04 jun 2009, 21:18
door wslangerak
Inderdaad, nooit weg. Zo heb ik een poosje geleden een tien centimeter dik boek gekocht over PHP. Echt leuk als je het een beetje door begint te krijgen.

Re:Overzicht meetstations via xml.buienradar.nl

Geplaatst: 05 jun 2009, 08:24
door Luc
wslangerak schrijft:
Inderdaad, nooit weg. Zo heb ik een poosje geleden een tien centimeter dik boek gekocht over PHP. Echt leuk als je het een beetje door begint te krijgen.
PHP is inderdaad leuk en onmisbaar. Het is immers mijn broodwinning :laugh:

Welk boek heb je gekocht?

Re:Overzicht meetstations via xml.buienradar.nl

Geplaatst: 05 jun 2009, 08:35
door wslangerak
Luc schrijft:
Welk boek heb je gekocht?


Webdesign met PHP5 van Easy Computing, Ward van der Put.

Ik heb wel gelogen, 't is wat dunner dan 10 cm ....:unsure: