[PHP/JSON] weergeven resultaten query

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • dadoupy
  • Registratie: April 2001
  • Laatst online: 14-08 14:14
Je kunt bij de openkvk.nl gegevens opvragen van kvk leden.
Nu vraag ik dit middels postcode op. Maar ik heb geen idee hoe ik die resultaten kan weergeven.

Is er iemand die mij kan helpen hiermee?

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
ini_set('display_errors', 1);
error_reporting( E_ALL );

$postcode = $_POST['postcode'];
echo "<br /><br />Postcode:".$postcode."<br />";

  $query = "SELECT * FROM kvk WHERE postcode = '$postcode' LIMIT 100;";
  $host  = "http://api.openkvk.nl";
  $url   = $host ."/json/". rawurlencode($query);

  $curl = curl_init();
  curl_setopt ($curl, CURLOPT_URL, $url);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  $result = curl_exec ($curl);
  curl_close ($curl);
    
    var_dump( $result, json_decode($result) );
?>

Acties:
  • 0 Henk 'm!

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 08:46

orf

met json_decode($result, true) krijg je een associative array terug. Daarin zit een result, met daarin types, headers en rows. Elke row is een resultaat uit de set met matches. Daar kun je doorheen loopen.

Acties:
  • 0 Henk 'm!

  • dadoupy
  • Registratie: April 2001
  • Laatst online: 14-08 14:14
Zou je voor mij een opzetje kunnen maken om deze weer te geven (loopen)?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
dadoupy schreef op dinsdag 29 november 2011 @ 11:59:
Zou je voor mij een opzetje kunnen maken om deze weer te geven (loopen)?
Euh, lees Kan iemand even...? en scriptrequests even.

Wat heb je zelf al geprobeerd?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • dadoupy
  • Registratie: April 2001
  • Laatst online: 14-08 14:14
Ik heb de var_dump geslashed, ofte wel 2 slashes ervoor gezet en dit toe gevoegd.
PHP:
1
2
3
$obj = json_decode($result,true);
var_dump($obj->ROWS);
var_dump($obj->adres);

Maar dat geeft een: Notice: Trying to get property of non-object in

Ik moet daarna de poel gaan loopen met foreach. Maar voordat ik daar aan begin is het misschien handig dat ik geen error krijg maar waardes.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Probeer eens:

PHP:
1
2
$obj = json_decode($result); 
var_dump($obj[0]->RESULT->ROWS);

[ Voor 121% gewijzigd door RobIII op 29-11-2011 12:25 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Het is nu ook geen object maar een array, lees gewoon even wat json_decode precies doet met de parameters.

Acties:
  • 0 Henk 'm!

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 08:46

orf

orf schreef op dinsdag 29 november 2011 @ 11:40:
met json_decode($result, true) krijg je een associative array terug.
Dan is het dus geen object en moet je de Array notatie gebruiken:

PHP:
1
2
3
4
5
<?php

$data = $result['RESULT']['ROWS'];

?>

Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
dadoupy schreef op dinsdag 29 november 2011 @ 12:08:
Ik heb de var_dump geslashed, ofte wel 2 slashes ervoor gezet en dit toe gevoegd.
PHP:
1
2
3
$obj = json_decode($result,true);
var_dump($obj->ROWS);
var_dump($obj->adres);

Maar dat geeft een: Notice: Trying to get property of non-object in

Ik moet daarna de poel gaan loopen met foreach. Maar voordat ik daar aan begin is het misschien handig dat ik geen error krijg maar waardes.
Je haalt twee dingen door elkaar, het is
PHP:
1
2
3
$obj = json_decode($result);
var_dump($obj->ROWS);
var_dump($obj->adres);

of
PHP:
1
2
3
$obj = json_decode($result,true);
var_dump($obj['ROWS']);
var_dump($obj['adres']);

Acties:
  • 0 Henk 'm!

  • dadoupy
  • Registratie: April 2001
  • Laatst online: 14-08 14:14
Thnx RobIII. :D
[1] is de bedrijfsnaam,[2] is ... [4] is adres,
Nu wordt het overzichtelijker.
Als ik var_dump($obj[0]["RESULT"]["ROWS"][3][1]);
Doe krijg ik netjes het bedrijfsnaam weergegeven van de 3e in de array.
:D :D

Nu kan ik aan foreach gaan denken.

[ Voor 7% gewijzigd door dadoupy op 29-11-2011 14:00 ]

Pagina: 1