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 :

query vers json_encode


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2012
    Messages : 127
    Par défaut query vers json_encode
    Bonjour à tous,

    J'essai actuellement de faire passer le résultat d'une requête sql de mon php via mon script js avec ajax.
    Je souhaite utiliser json_encode, seulement j'ai un problème.

    Voilà mon code :

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    <?php 
              $data = array();
              $myServer = "";
              $myUser = "";
              $myPass = "";
              $myDB = ""; 
     
              $conn = new COM ("ADODB.Connection")
              or die("Cannot start ADO");
     
              $connStr = "PROVIDER=SQLOLEDB.1;SERVER=".$myServer.";UID=".$myUser.";PWD=".$myPass.";DATABASE=".$myDB; 
              $conn->open($connStr);
     
              $A='XXXX';
              $B='Y';
     
              $query = "SELECT * FROM matable WHERE col1 LIKE '%" .$A.";".$B."%' ORDER BY col2 DESC";
              $rs = $conn->execute($query);
     
              $rs = $conn->execute($query);
     
              $num_columns = $rs->Fields->Count();
              $all_infos='';
              for ($i=0; $i < $num_columns; $i++) {
                $fld[$i] = $rs->Fields($i);
              }
     
              while (!$rs->EOF)
              {
                array_push($data, $fld);
                $rs->MoveNext();
              }
     
              echo json_encode($data);
     
              $rs->Close();
              $conn->Close();
     
              $rs = null;
              $conn = null;
    ?>
    Ça fonctionne, mais voilà le résultat que j'obtiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [[{},{},{},{},{},{},{}],[{},{},{},{},{},{},{}],[{},{},{},{},{},{},{}]]
    Un tableau de tableaux vide ! Mais qui contient le bon nombre de tableau contenant le bon nombre de valeur !

    J'ai cru lire ici & là que c'est plus simple en se connectant à la base avec mysqli seulement je n'y parviens pas, impossible de me connecter à la base de cette façon et je ne sais pas pourquoi.
    Si dans mon while je place :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $fld[0] ."-" .$fld[1] ."-" .$fld[2] ."-" .$fld[3] ."-" .$fld[4] ."-" .$fld[5] ."-" .$fld[6];
    J'affiche bien les bonnes valeurs.

    J'espère que vous pourrez m'aider. Je préfère utiliser json_encode plutôt que de faire une magouille.

    Je vous remercie d'avance !

  2. #2
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Et si tu effectue un var_dumpde ton $data?
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2012
    Messages : 127
    Par défaut
    J'obtiens cette erreur :

    [29-Jun-2016 09:50:05 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.5.12/ext/php_intl.dll' - The specified module could not be found.

    in Unknown on line 0

  4. #4
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Billets dans le blog
    1
    Par défaut
    A quel endroit fais tu ton var_dump?
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2012
    Messages : 127
    Par défaut
    Ici :

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    <?php 
              $data = array();
              $myServer = "";
              $myUser = "";
              $myPass = "";
              $myDB = ""; 
     
              $conn = new COM ("ADODB.Connection")
              or die("Cannot start ADO");
     
              $connStr = "PROVIDER=SQLOLEDB.1;SERVER=".$myServer.";UID=".$myUser.";PWD=".$myPass.";DATABASE=".$myDB; 
              $conn->open($connStr);
     
              $A='XXXX';
              $B='Y';
     
              $query = "SELECT * FROM matable WHERE col1 LIKE '%" .$A.";".$B."%' ORDER BY col2 DESC";
              $rs = $conn->execute($query);
     
              $rs = $conn->execute($query);
     
              $num_columns = $rs->Fields->Count();
              $all_infos='';
              for ($i=0; $i < $num_columns; $i++) {
                $fld[$i] = $rs->Fields($i);
              }
     
              while (!$rs->EOF)
              {
                array_push($data, $fld);
                $rs->MoveNext();
              }
              var_dump($data);
              echo json_encode($data);
     
              $rs->Close();
              $conn->Close();
     
              $rs = null;
              $conn = null;
    ?>

  6. #6
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Salut,

    Oui donc en fait tu n'as pas de problème avec json encode mais plutôt pour récupérer et mettre en forme les données de ta requête avant de les passer à json_encode ? As-tu essayé de charger ou de réparer la librairie php_intl.dll ? Ou essaye peut-être sur un serveur distant si c'est là que doit être ton script finalement car les librairies de wamp en local sont parfois indisponibles ou mal installées et il faut parfois faire des manip pour les récupérer.

Discussions similaires

  1. [XL-2013] Excel connexion MS Query vers plusieurs fichiers Excel
    Par dafpub dans le forum Excel
    Réponses: 0
    Dernier message: 03/10/2015, 23h21
  2. Portabilité des requêtes Bi Query(hummingbird) vers BO
    Par Ornyy dans le forum Administration-Migration
    Réponses: 11
    Dernier message: 19/08/2010, 15h30
  3. Migration de BI query vers Business Object
    Par Ornyy dans le forum Approche théorique du décisionnel
    Réponses: 2
    Dernier message: 06/08/2010, 14h04
  4. Réponses: 2
    Dernier message: 13/06/2008, 11h09
  5. exporter une query vers excel
    Par mouaa dans le forum VBA Access
    Réponses: 7
    Dernier message: 27/12/2007, 10h33

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