Générer un JSON avec un script PHP et l'exploiter dans de l'AngularJS

Générer un JSON avec un script PHP et l'exploiter dans de l'AngularJS - PHP - Programmation

Marsh Posté le 21-03-2016 à 16:12:21    

Salut les gens.
 
Je suis un bon gros débutant en dev web, alors je sollicite votre indulgence.
 
j'ai vu qu'on pouvait générer une page web a partir d'un fichier JSON de la facon décrite dans ce genre de tuto qui fleurit sur le net.
http://fdietz.github.io/recipes-wi [...] -ajax.html
 
alors tout noob que je suis, je me suis dit qu'en remplacant le nom du fichier par l'adresse du script php, je pourrai exploiter le résultat.
donc, non, visiblement, ca télécharge le fichier, et en suite, ce ne comprend rien.
 
Alors j'ai retourné Internet en tentant de trouver comment faire, mais je ne sais plus trop,
quelle est la facon de faire ??

Reply

Marsh Posté le 21-03-2016 à 16:12:21   

Reply

Marsh Posté le 21-03-2016 à 16:16:05    

mais yoyo, tu fous quoi ? Ca sera plus facile de te répondre si tu balances du code :o
Mais de base :
Ton fichier php doit balancer un header avec le content-type "application/json"
Et ensuite tu as juste à faire un écho d'un json_encode($monobjectphp)

 

A la grosse quoi :o
edit : http://stackoverflow.com/questions [...] php-script
Première répons dans la page explique ce que je t'ai décrit :o


Message édité par gatsu35 le 21-03-2016 à 16:17:14
Reply

Marsh Posté le 21-03-2016 à 16:30:56    

je suis au taf, donc j'ai pas mes sources, et quand je serai chez moi, il sera 23h chez vous -_-

 

ca viendrait du fait que j'ai pas foutu le header, probablement [:dao]
si je le met, donc, je peux remplacer le nom du fichuer.json par celui du fichuier.php et ca l'interpretera pareil ?

 

pis pour la réponse, je suis en train de lancer un projet revolutionnaire, mais je peux faire confiance a personne. donc je m'apprend a bosser proprement [:dao]


Message édité par yoak le 21-03-2016 à 16:33:08
Reply

Marsh Posté le 21-03-2016 à 16:37:23    

ben déjà pour bosser proprement tu évites les ficheirs php qui trainent un peu partout et tu utilises un framework php. Surtout si tu dois faire une api (car tu parles d'app angular)
Donc un petit cakephp ou laravel, slim, etc... :o

Reply

Marsh Posté le 21-03-2016 à 18:28:54    

on m'a dit sur blabla@php que partir de rien et aller directement sur un framework, ca faisait une marche assez haute. j'ai personnellement perdu  bcp de temps a érrer sur sf2, sans jamais réussir a en faire qqch, donc le plan, c'est de coder en php, de la facon la plus propre possible, on m'a conseiller angular comme interface entre le html et le php, et une fois qu'on sera a l'aise avec le code, on envisagera de migrer l'outil sous un framework.
 
mais c'est difficile d'appréhender le truc de manière générale quand tu es un total noob. tout n'est peut etre pas parfait, mais on apprend, et on va devenir riche, c'est sur  !!

Reply

Marsh Posté le 21-03-2016 à 18:47:17    

nan mais je parle de micro framework, le truc qui te gère un routeur
avoir un routeur c'est la moindre des choses.
Après tu veux faire quoi un site ou une API interrogée par une SPA (single page application)  ?  
Rien ne t'empèche d'avoir un micro micro framework qui te gère la base pour avoir des routes et des trucs propres :o

Reply

Marsh Posté le 21-03-2016 à 19:14:23    

c'est pour faire un site, connecté sur une base.
 
je voudrais partager au monde ma collection de timbre, et elle mérite le meilleur. [:dao]
 
tu peux me décrire ce que tu appelles un routeur ?  
 
j'ai un WRT54G chez mes viocs :sol:

Reply

Marsh Posté le 21-03-2016 à 21:44:30    

https://www.youtube.com/watch?v=d1L [...] 2&index=44 :O
Je t'invite à regarder les videos de la playlist, et même regarder les vidéos de cette chaîne youtube :o

Reply

Marsh Posté le 21-03-2016 à 22:47:03    

j'vais commencer du début, c'est archi interessant, merci !

Reply

Marsh Posté le 21-03-2016 à 23:26:16    

Par la route, mon problème est pas résoudu
 
Disclaimer : les noms/emplacements des fichiers ainsi que le code sont dégueu, mais, c'est du cafouillage, en ce moment [:dao]
 
 
 
je vous mets le code :
 
index2.html

Code :
  1. <html>
  2.   <head>
  3.     <meta charset="utf-8">
  4.     <title>Angular.js JSON Fetching Example</title>
  5.     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
  6. <!--<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script>-->
  7.     <script src="angular-1.5.2/angular.min.js"></script>
  8.     <script>
  9.       var UserInfo = angular.module('UserInfo', []);
  10.       UserInfo.controller('UserInfoCtrl', function ($scope, $http) {
  11.         $http.get('Controllers/users.json')
  12.                 .success(function(data) {
  13.                   $scope.names = data;
  14.                 });
  15.       });
  16.     </script>
  17.   </head>
  18.   <body ng-app= "UserInfo" ng-controller="UserInfoCtrl">
  19.     <table>
  20.       <tr>
  21.         <th>users_login</th>
  22.  <th>users_name</th>
  23.         <th>users_fname</th>
  24.       </tr>
  25.       <tr ng-repeat="x in names">
  26.         <td>{{ x.users_login }}</td>
  27.  <td>{{ x.users_name }}</td>
  28.         <td>{{ x.users_fname }}</td>
  29.       </tr>
  30.     </table>
  31.   </body>
  32. </html>


 
init.php

Code :
  1. <?php
  2. include 'functions.php';
  3. session_start();
  4. //print $_SESSION['login'];
  5. If(!isset($_SESSION['login']))
  6. {
  7.     header('Refresh: 0;URL=error.html');
  8. }
  9. $donnees = sql_request('SELECT * FROM users', 1);
  10. header('Content-Type: application/json');
  11. echo json_encode($donnees);
  12. ?>


 
si je fais pointer sur Controllers/users.json, ca marche
contenu du fichier :

Code :
  1. [{"users_id":"1","0":"1","users_login":"user1","1":"user1","users_fname":"pnom","2":"pnom","users_name":"nom","3":"nom","users_password":"toto","4":"toto","users_status":"0","5":"0"},{"users_id":"2","0":"2","users_login":"toto.tata","1":"toto.tata","users_fname":"tata","2":"tata","users_name":"toto","3":"toto","users_password":"1234","4":"1234","users_status":"1","5":"1"}]


 
et si je pointe sur init.php, ca marche pas
rendu du fichier init dans une page web :

Code :
  1. [{"users_id":"1","0":"1","users_login":"user1","1":"user1","users_fname":"pnom","2":"pnom","users_name":"nom","3":"nom","users_password":"toto","4":"toto","users_status":"0","5":"0"},{"users_id":"2","0":"2","users_login":"toto.tata","1":"toto.tata","users_fname":"tata","2":"tata","users_name":"toto","3":"toto","users_password":"1234","4":"1234","users_status":"1","5":"1"}]


 
J'ai rajouté le header suite a ton post, gatsu.

Reply

Marsh Posté le 21-03-2016 à 23:26:16   

Reply

Marsh Posté le 21-03-2016 à 23:38:11    

et donc maintenant init.php il resseble à quoi ?  

Reply

Marsh Posté le 21-03-2016 à 23:46:19    

beh il est dedans

Reply

Marsh Posté le 21-03-2016 à 23:46:31    

<?php
2.include 'functions.php';
3.
4.session_start();
5.//print $_SESSION['login'];  
6.
7.If(!isset($_SESSION['login']))
8.{
9.    header('Refresh: 0;URL=error.html');
10.}
11.
12.$donnees = sql_request('SELECT * FROM users', 1);
13.header('Content-Type: application/json');
14.echo json_encode($donnees);
15.
16.?>

Reply

Marsh Posté le 21-03-2016 à 23:47:31    

functions.php contient juste la fonction pour requeter en ce moment

Reply

Marsh Posté le 22-03-2016 à 15:04:22    

bin ca marche finalement, je sais pas pourquoi, j'ai rien touché -_-

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed