IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Données MySql et file_get_contents


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 69
    Points : 46
    Points
    46
    Par défaut Données MySql et file_get_contents
    Bonjour,

    Je rencontre un petit souci avec un petit script pour récupérer des données d'une base de données MySql en utilisant file_get_contents.
    J'ai un 1er script sur page A et une page B. Le problème c'est que le script ne me retourne rien. Pouvez-vous m'éclairer ? Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $data = file_get_contents("http://www.mondomaine.com/api/api-calculateur-taxes.php?k=ASSIM2017&m=deptaxes");
    $depts = $data;;
    echo json_decode($depts);
    Puis j'ai la page suivante B avec le script suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    if($_GET['k'] == KEY){
     
    	// Connexion DB
    	try {
    		$conxDb = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME.'', ''.DB_LOGIN.'', ''.DB_PASS);
    	} catch (PDOException $e) {
    		echo "Not connect DB";
    	}
     
    	// Action à execter
    	if(isset($_GET['m']) && ($_GET['m'] != "")){
     
    		$d = (isset($_GET['d']))? trim($_GET['d']) : '';
    		$data = "";
    		$action = trim($_GET['m']);
     
    		switch($action){
     
    			// Liste des taxes des départements
    			case 'deptaxes' :
    				$where = ($d != "")? ' WHERE dep = '.$d.' ' : ' ORDER BY dep ';
    				$req = $conxDb->query(" SELECT * FROM c_dep_taxe ".$where);
    				$data = $req->fetchAll(PDO::FETCH_OBJ);
    				return json_encode($data);
    			break;
     
    		}
     
     
    	}
     
    }

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il faut faire un echo à la place du return.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 69
    Points : 46
    Points
    46
    Par défaut
    Si je fais un echo cela me retourne rien alors qu'il y a bien des infos dans ma table.
    En fait j'aimerais récupérer les données dans une variable pour les utiliser dans la page A (client)

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 69
    Points : 46
    Points
    46
    Par défaut
    J'ai réussi à récupérer mes données en json sous cette forme pour chaque ligne de ma table :

    {"id":"1","dep":"01","dep_nom":"Ain","dep_taxe_cv":"43.00","dep_reduc_energie":"0.50","dep_taxe_cv_maj":"43.00","dep_reduc_energie_maj":"0.50"}
    {"id":"2","dep":"02","dep_nom":"Aisne","dep_taxe_cv":"33.00","dep_reduc_energie":"0.50","dep_taxe_cv_maj":"33.00","dep_reduc_energie_maj":"0.50"}
    ...

    Comment faire ensuite pour afficher par exemple "dep_nom" de chaque ligne ?
    Merci

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 69
    Points : 46
    Points
    46
    Par défaut
    Bon ok j'ai réussi à trouver la solution que voic i pour les autres.

    Dans la page api :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $data = $req->fetchAll(PDO::FETCH_OBJ);
    $depts = json_encode(array('depts'=>$data));
    echo $depts;
    dans la page client :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $data = file_get_contents("http://www.mondomaine.com/api/api-calculateur-taxes.php?k=cle&m=deptaxes");
    $depts = json_decode($data);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. connexion a une base de donné mysql
    Par ithery75 dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/02/2005, 21h57
  2. [JDBC]acces à une base de données mysql
    Par sehaba dans le forum JDBC
    Réponses: 13
    Dernier message: 07/12/2004, 01h39
  3. probleme construction base de donnes MySql...Help
    Par chakan dans le forum Requêtes
    Réponses: 7
    Dernier message: 21/07/2004, 12h27
  4. connection à base de donnée MYSQL
    Par zouzou_zaza dans le forum Bases de données
    Réponses: 11
    Dernier message: 04/07/2004, 13h31
  5. XML->Base de donnée Mysql
    Par lheureuxaurelie dans le forum XQUERY/SGBD
    Réponses: 4
    Dernier message: 11/03/2004, 00h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo