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 :

Array php Encode JSon


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 103
    Points : 59
    Points
    59
    Par défaut Array php Encode JSon
    Bonjour,

    J'ai un petit problème de compréhension voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    $reponse1="MYSQL QUERY(pomme,poire,banane)";
    $ligne=0;
    while ($row = mysql_fetch_assoc($reponse1))
    {
    $list[$ligne]['data']=$row['data'];
    $ligne++;
    }
     
    echo json_encode($list);
    Pourquoi le retour est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [{"data":"pomme"},{"data":null},{"data":null}]
    Alors que si je met un Echo a chaque exécution de la boucle j'ai une valeur:



  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    fais juste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $reponse1="MYSQL QUERY(pomme,poire,banane)";
    $list = array();
    while ($list[] = mysql_fetch_assoc($reponse1)); 
    echo json_encode($list);

  3. #3
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Heu, ça déjà ça ne devrait pas fonctionner:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $reponse1="MYSQL QUERY(pomme,poire,banane)";
    $ligne=0;
    while ($row = mysql_fetch_assoc($reponse1))
    J'ai jamais vu ça de ma vie, c'est documenté quelque part au moins ?

    Personnellement, ça me renvoie des erreurs: Warning: mysql_fetch_assoc() expects parameter 1 to be resource, string given in C:\wamp\www\index.php(28) : eval()'d code on line 3

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 103
    Points : 59
    Points
    59
    Par défaut
    Merci pour la réponse,

    J'aurai peut être du préciser (même surement...)


    En faîtes je veut faire un traitement sur le résultat de ma requête alors la solution avec mysql_fetch_assoc ne fonctionne pas.

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par clecle Voir le message
    Merci pour la réponse,

    J'aurai peut être du préciser (même surement...)


    En faîtes je veut faire un traitement sur le résultat de ma requête alors la solution avec mysql_fetch_assoc ne fonctionne pas.
    montre ce que tu veux faire alors ...

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 103
    Points : 59
    Points
    59
    Par défaut
    Faut pas s'occuper de la requête.... (c'est un exemple)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $reponse1="MYSQL QUERY(pomme,poire,banane)";
    $ligne=0;
    while ($row = mysql_fetch_assoc($reponse1))
    {
    $list[$ligne]['data']=$row['data'].'123';
    $ligne++;
    }
     
    echo json_encode($list);

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 103
    Points : 59
    Points
    59
    Par défaut
    Le tableau JSON devrait être:



    [{"data":"pomme123"},{"data":"poire123"},{"data":"banane123"}]

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    $ligne sert a rien pour incrémenter un tableau c'est []


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $reponse1="MYSQL QUERY(pomme,poire,banane)";
     
    while ($row = mysql_fetch_assoc($reponse1))
    {
    $list[]['data']=$row['data'].'123';
    }
     
    echo json_encode($list);
    mais bon t'es sûr du retour ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while ($row = mysql_fetch_assoc($reponse1))
    {
        var_dump($row);
    }

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 103
    Points : 59
    Points
    59
    Par défaut
    Pour mon retour si je fais:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $reponse1="MYSQL QUERY(pomme,poire,banane)";
     
    while ($row = mysql_fetch_assoc($reponse1))
    {
    echo $row['data'].'123';
    }
    cela donne


    Pomme123Poire123Banane123

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    et pourquoi ne par rajouter 123 direct dans la requete ?

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 103
    Points : 59
    Points
    59
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    array
      0 => 
        array
          'data' => string 'pomme' (length=5)
      1 => 
        array
          'data' => string 'poire' (length=5)
      2 => 
        array
          'data' => string 'banane' (length=6)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [{"data":"pomme"},{"data":"poire"},{"data":"banane"}]

    Ça donne juste mais que ce passe t'il si j'ai des /n dans ma table?

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    le json accepte tout les caractères

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 103
    Points : 59
    Points
    59
    Par défaut
    J'ai rééssayé en tapant n'importe quoi....


    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
    array
      0 => 
        array
          'data' => string 'pommegdf
     
    blnk
     
    xfn
     
    vn
     
    gvnè
     
    vkè
     
    nkxv
     
    nkxènkè
     
    kn
     
    n
     
    v
     
    nn' (length=63)
      1 => 
        array
          'data' => string 'poire
     
     
     
    maison' (length=15)
      2 => 
        array
          'data' => string 'banane' (length=6)
    [{"data":null},{"data":"poire\r\n\r\nmaison"},{"data":"banane"}]

    Champs text de la table pos0 =
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    pommegdf
    blnk
    xfn
    vn
    gvnè
    vkè
    nkxv
    nkxènkè
    kn
    n
    v
    nn

    c'est bizarre....

  14. #14
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    les chaines sont bien en utf-8 ?

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 103
    Points : 59
    Points
    59
    Par défaut
    Oui

  16. #16
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    t'as bien mis le mysql_set_charset ?
    fait un coup de json_last_error

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 103
    Points : 59
    Points
    59
    Par défaut
    oui pour le charset.


    Il me retourne 5

  18. #18
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    http://www.php.net/manual/fr/functio...last-error.php

    JSON_ERROR_UTF8


    donc bien un problème d'encodage

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 103
    Points : 59
    Points
    59
    Par défaut
    Effectivement,

    c'est bien j'ai appris plein de nouvelles fonctions aujourd'hui...

    Merci


    J'ai toujours pas trouvé. Mais ça m'apprendra à taper des caractères au bol....

  20. #20
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    vérifie aussi que ton fichier sous bien en UTF-8

Discussions similaires

  1. array php json highcharts
    Par Invité dans le forum Langage
    Réponses: 6
    Dernier message: 21/05/2015, 17h26
  2. Encoder un tableau PHP en JSON qui contient des fonctions JS
    Par Spartacusply dans le forum Langage
    Réponses: 2
    Dernier message: 11/09/2014, 12h07
  3. Array php à deux dimension et JSON
    Par Faror dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/01/2013, 19h54
  4. Array Php vers Json
    Par okoweb dans le forum Langage
    Réponses: 2
    Dernier message: 18/01/2011, 13h18
  5. Ion Cube Php Encoder
    Par ethema dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 15/02/2006, 18h23

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