Page 1 sur 2

Interface web d'une zibase

Posté : 31 mai 2016, 09:07
par eniac
Bonjour,
On a un projet qui consiste a faire une application web avec PHP/MySQL(on utilisant wampserver).
cette application a pour but d'extraire les données qui se trouve dans ce lien en format json: "https://zibase2.net/api/get/ZAPI.php?zi ... arget=home", et stocké tous ces informations dans une base de donnée.
le problème c'est que je ne suis pas fort en programmation web, ma question et comment faire pour charger les données qui se trouve dans se lien.

Re: Interface web d'une zibase

Posté : 31 mai 2016, 09:57
par tof73

Re: Interface web d'une zibase

Posté : 31 mai 2016, 10:07
par eniac
Bonjour tof73,
on a esséyer le code indique dans la documentation ma sa marche toujours pas.
peut etre c'est a cause du format du texte a importer?

Re: Interface web d'une zibase

Posté : 31 mai 2016, 10:14
par @rthur
Bonjour,

Le JSON fourni est valide donc peut être interprété sans problème par json_decode()
Qu'as-tu essayé exactement, qu'est-ce qui ne marche pas ?
Quel est le message d'erreur ?
le problème c'est que je ne suis pas fort en programmation web
:arrow: Message déplacé dans le forum PHP débutant

Re: Interface web d'une zibase

Posté : 31 mai 2016, 11:00
par Naroth
Bonjour Eniac,

Comme tof73 le souligne, tu dois utiliser les fonctions file_get_contents et json_decode

Code

Code : Tout sélectionner

$content = file_get_contents($url); $object = json_decode($content); var_dump($object);
Affichage

Code : Tout sélectionner

object(stdClass)[1] public 'head' => string 'success' (length=7) public 'body' => object(stdClass)[2] public 'zibase' => object(stdClass)[3] public 'id' => string 'ZiBASE005383' (length=12) public 'connected' => int 1 public 'variables' => ...
Tu devrais te retrouver avec un objet contenant l'intégralité des données du JSON.

A noter que tu peux également tester le retour du file_get_contents pour savoir si la page à été récupéré correctement.

Re: Interface web d'une zibase

Posté : 03 juin 2016, 11:02
par eniac
Bonjour, merci pour vos réponse.
en fait j'ai fais ce que vous m'aviez dit et j'ai eu ce résultat:
array (size=2)
'head' => string 'success' (length=7)
'body' =>
array (size=7)
'id' => string 'ZA14' (length=4)
'name' => string 'C1 SP103-2' (length=10)
'icon' => string 'logotype_Presence.png' (length=21)
'protocol' => int 19
'status' => int 0
'time' => int 1464873186
'Zwstatus' =>
array (size=3)
'presence' => int 1
'error' => int 0
'battery' => int 0
mais mon but est d'affiché juste l'id, name et présence par exemple id:ZA14.
merci par avance.

Re: Interface web d'une zibase

Posté : 03 juin 2016, 11:07
par Naroth
Pour récupérer ton ID, tu dois faire

Code : Tout sélectionner

$object['body']['id']
Je pense que tu dois être en mesure d'afficher le name et presence

Re: Interface web d'une zibase

Posté : 03 juin 2016, 11:20
par eniac
merci mais rien ne s'affiche.

Re: Interface web d'une zibase

Posté : 03 juin 2016, 11:29
par Naroth
Ce que je trouve plutôt étrange, c'est que toi tu as un enchaînement d'array alors que moi j'ai clairement un objet.
Et en plus j'ai pris ton url, je n'ai pas du tout les mêmes données que toi.

Peux-tu nous en dire plus sur ton code actuel ?

Re: Interface web d'une zibase

Posté : 03 juin 2016, 11:32
par eniac
voici mon code,,
<?php
$json = file_get_contents('https://zibase2.net/api/get/ZAPI.php?zi ... or&id=ZA14');
$deco =json_decode($json,true);
echo $json;
var_dump($deco);
echo $deco['body']['name']->;
echo $deco['Zwstatus']['presence'];
?>

Re: Interface web d'une zibase

Posté : 03 juin 2016, 11:37
par Naroth
Ok, j'ai compris ton problème,

Voici l'affichage du var_dump :

Code : Tout sélectionner

array (size=2) 'head' => string 'success' (length=7) 'body' => array (size=7) 'id' => string 'ZA14' (length=4) 'name' => string 'C1 SP103-2' (length=10) 'icon' => string 'logotype_Presence.png' (length=21) 'protocol' => int 19 'status' => int 0 'time' => int 1464873186 'Zwstatus' => array (size=3) 'presence' => int 1 'error' => int 0 'battery' => int 0
Tu as donc une array dont un de ses élements est un array, le but va être d'accéder à cet élément (qui est une array)

si tu fais :

Code : Tout sélectionner

echo $deco['body']['id']
l'affiachage sera :
ZA14
Maintenant pour accéder à Zwstatus tu es obligé de passer par l'élément body

Re: Interface web d'une zibase

Posté : 03 juin 2016, 11:51
par eniac
maintenant çà marche, merci beaucoup.

Re: [RESOLU] Interface web d'une zibase

Posté : 06 juin 2016, 14:00
par eniac
Bonjour,
j'ai besoin d'afficher la date et l'heure de chaque détection, ensuite remettre la valeur 1 ( de présence ) a zero.
je vois pas comment faire pour avoir tout ces détail.

Re: [RESOLU] Interface web d'une zibase

Posté : 06 juin 2016, 14:07
par Naroth
Bonjour Eniac,

Qu'est ce que tu appelles la date et l'heure de chaque détection ?
L'heure à laquelle tu viens lire le json ?
Ou l'heure à laquelle le json a été généré ?

Re: [RESOLU] Interface web d'une zibase

Posté : 06 juin 2016, 14:08
par eniac
L'heure à laquelle le json a été généré.