Beste forumleden,

Ik heb de volgende array:

{"status": "ok", "version": "2.47", "request": {"route": "/te" }, "response":
[{ "t": "2013-11-04 00:10", "te": 20.2, "hu": 64} ,
{ "t": "2013-11-04 00:25", "te": 20.0, "hu": 65} ,
{ "t": "2013-11-04 00:40", "te": 20.1, "hu": 65} ,
{ "t": "2013-11-04 01:55", "te": 19.8, "hu": 66} ,
{ "t": "2013-11-04 02:10", "te": 19.8, "hu": 66} ]}

Wie kan mij helpen om deze in de database te laden met de colommen t, te, hu.

Bij voorbaat dank.
Als ik je een begin mag geven: Kijk eens naar json_decode().

Dan kan je de 'response' array foor foreach halen en de data in je database plaatsen.
<?php
$a = '{"status": "ok", "version": "2.47", "request": {"route": "/te" }, "response":
[{ "t": "2013-11-04 00:10", "te": 20.2, "hu": 64} ,
{ "t": "2013-11-04 00:25", "te": 20.0, "hu": 65} ,
{ "t": "2013-11-04 00:40", "te": 20.1, "hu": 65} ,
{ "t": "2013-11-04 01:55", "te": 19.8, "hu": 66} ,
{ "t": "2013-11-04 02:10", "te": 19.8, "hu": 66} ]}';

$array = json_decode($a);
$response = '';
foreach($array->response as $key=>$item) {
$response .= ($key == 0 ? '' : ',' . PHP_EOL) .'("' . $item->t . '", "' . $item->te . '", "' . $item->hu . '")';
}
$sql = 'INSERT INTO mijn_tabel (t, te, hu) VALUES ' . PHP_EOL . $response;
//echo $sql;
echo '<pre>' . print_r($sql, 1) . '</pre>';
?>
Wow, wat een snelle reactie.

De code van Kris werkt perfect, daar ben ik 2 dagen naar op zoek geweest :-(

Nogmaals hartelijk dank hiervoor.

Rob

Reageren