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
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
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 :
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é.