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

PHP & Base de données Discussion :

comment je peux transformer ma requete en json ? [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 222
    Par défaut comment je peux transformer ma requete en json ?
    Bonjour, je dois récupérer des données pour les afficher en json
    voici mon script de test:

    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
     
    <?php
     
    try {
        // On se connecte à MySQL
        $bdd = new PDO('mysql:host=localhost;dbname=moodle_prod', 'root', 'test');
    } catch (Exception $e) {
        // En cas d'erreur, on affiche un message et on arrête tout
        die('Erreur : ' . $e->getMessage());
    }
     
    $sql = "SELECT id,email FROM prod_user WHERE id=2681";
    echo $sql;
    $users = $bdd->query($sql);
    echo "<br/>";
    foreach ($users as $U) {
        $id = $U['id'];
        $email = $U['email'];
    }
     
    $k1 = array('id' => $id, 'name' => $email);
    $K2 = array($id => $k1);
    $K3 = array('Matching not enrolled users' => $K2);
     
    echo json_encode(array('results' => $K3));
    ceci fonctionne mais si j'ai 2 réponses comment je fais ? il y a t'il plus simple ?
    mon but est d'avoir ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    {"results":{"Matching not enrolled users":{"1490":{"id":"1490","name":"Admin -sup.fr)"},"2":{"id":"2","name":"ds@lf.fr)"},"4372":{"id":"4372","name":"Admin)"}}}}
    je vous remercie beaucoup de votre réponse

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    Par défaut
    tu peux transformer n'importe quel tableau php en json grâce à la fonction json_encode. Pour plus d'information la doc php.


  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 222
    Par défaut
    merci de ta réponse j'ai essayer ceci mais cela ne fontionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
        $sql = "SELECT id,email FROM prod_user WHERE id=2682 OR id=2680";
     
        $users = $bdd->query($sql)->fetchAll();
     
     
        print_r($users);
     
       // $k1 = array('id' => $id, 'name' => $email);
        //$K2 = array($id => $k1);
     
     
        echo json_encode(array('results' => $users));

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    Par défaut
    tu as un message d'erreur ?

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 222
    Par défaut
    Je n'ai pas de message d'erreur car c'est un retour d'ajax

    sinon je redonne le modèle qui fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $test='
        {"results":
            {"Matching not enrolled users":
                {
                    "1490":{"id":"1490","name":"Admin -sup.fr)"},
                    "2":{"id":"2","name":"ds@lf.fr)"},
                    "4372":{"id":"4372","name":"Admin)"}}
            }
        }';
    voici l'envoir du json avec firebug
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    {"results":
       [{"id":"2680","0":"2680","email":"mai@mail.fr","1":"mai@mail.fr"},    
     
       {"id":"2682","0":"2682","email":"caroline.r","1":"caroline."}]
    }
    ça ne resemble pas bien au modèle

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 51
    Par défaut
    Donne nous ta réponse AJAX .

    Pour que ta réponse puisse être correct pour l'interprétation du json tu ne dois avoir que du json dans ta réponse php (pas de print_r()).

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

Discussions similaires

  1. comment je peux passer un parametre a une sous requete
    Par boulhous dans le forum Requêtes
    Réponses: 5
    Dernier message: 20/01/2010, 11h10
  2. [SQL] Comment je peux mettre les résultat d'une requete dans un fichier
    Par Maria1505 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 10/12/2006, 21h44
  3. Comment je peux changer nom de 'Table' avec la phrase sql
    Par YEK dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 01/10/2004, 08h38
  4. Transformation de requete sql
    Par Spiderben dans le forum Requêtes
    Réponses: 5
    Dernier message: 11/02/2004, 21h49
  5. Réponses: 3
    Dernier message: 25/07/2002, 10h42

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