Algemeen forum ontrent de ontwikkelng, design en hosting van weergerelateerde websites (dit laatste om een beetje on topic te blijven)
Door WeerstationGraveNL
#11814
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 "

";
}
?>
Door WSL
#11822
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.
Door WeerstationGraveNL
#11823
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 !!
Door wslangerak
#11833
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:
Door WeerstationGraveNL
#11835
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 :)
Door Luc
#11842
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?