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 json highcharts


Sujet :

Langage PHP

  1. #1
    Invité
    Invité(e)
    Par défaut array php json highcharts
    Bonjour,

    Je ne savais pas où mettre ce post ...

    Je sais que c'est tout con ! Mais ces array me prennent la tête !!!!

    Code php : 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
     
    $year = date('Y');
     
    $query_revenus = $bdd->prepare('SELECT raison_sociale,sum(total_prix_projet) as total FROM PROJET
    INNER JOIN CLIENT ON PROJET.id_client = CLIENT.id_client
    WHERE YEAR(`date_projet_fin`) LIKE ?
    GROUP BY CLIENT.id_client
    ORDER BY CLIENT.id_client');
    $query_revenus->execute(array("$year"));
     
    while($donnees_revenus = $query_revenus->fetch()) {
     
            $resultAnnee['name'] = $donnees_revenus['raison_sociale'];
            $resultAnnee['data'] = $donnees_revenus['total'];              
            $result[] = $resultAnnee; 
    }
    $query_revenus->closeCursor();
     
     
    print json_encode($result, JSON_NUMERIC_CHECK);

    J'ai logiquement ce résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [{"name":12,"data":120},{"name":"df","data":1900}]
    Quand Highcharts attend :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [{"name":12,"data":120}],[{"name":"df","data":1900}]
    C'est pour des séries donc logique, ils veut un array par client ...

    C'est un truc tout con mais pour le faire, est-ce que je dois avoir une seconde boucle où c'est faisable juste avec le while ? Car il me faut 1 array par client en fait...

    Merci à vous !

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    ça relève plus de php que de js non ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bah ouais, j'ai hésité ... C'est à cause du JSON que j'ai mis ça ici ...

    Mais si un modo pense qu'il faut mieux que ce soit sur le PHP, pas de souci pour un transfert

    Merci !

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Hum... en gros, il te faut une succession de tableaux qui contiennent chacun un objet.
    quelque chose comme ça peut-être ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    while($donnees_revenus = $query_revenus->fetch()) {
     
            $resultAnnee['name'] = $donnees_revenus['raison_sociale'];
            $resultAnnee['data'] = $donnees_revenus['total'];              
            $result[][] = $resultAnnee; 
    }
    $query_revenus->closeCursor();
     
     
    print json_encode($result, JSON_NUMERIC_CHECK);
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  6. #6
    Invité
    Invité(e)
    Par défaut
    J'avais testé ce script, ça me donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [[{"name":"hyu","data":687}],[{"name":"df","data":1900}]]
    Mais en faite, je crois que j'analyse mal la demande highcarts, si j'utlise ce script :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    while($donnees_revenus = $query_revenus->fetch()) {
     
            $resultAnnee['name'] = $donnees_revenus['raison_sociale'];
            $resultAnnee['data'][] = $donnees_revenus['total'];              
                   $result[] = $resultAnnee;    
    }
    $query_revenus->closeCursor();

    Le résultat est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [{"name":"hyu","data":[687]},{"name":"df","data":[687,1900]}]
    Mais pour le name "df", il reprend la valeur 687... Alors que normalement, chaque client "df" et "hyu" n'ont qu'une seule data ... En tout cas, avec cette technique un graphique s'affiche mais mal ...
    Donc il faut impérativement que la data soit dans un array ...

    Je dois partir sur le forum highcharts du coup ?

    Pour info, le résultat SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    raison_sociale 	total
    hyu 	687
    df 	1900

  7. #7
    Invité
    Invité(e)
    Par défaut
    Le résultat attendu n'est pas le même pour le type de graphique que je souhaitais ...

    En tout cas, on m'a aidé pour la boucle, voici le résultat :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach($query_revenus as $donnees_revenus) {
       $result[] = array($donnees_revenus['raison_sociale'], $donnees_revenus['total']);
    }

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

Discussions similaires

  1. Array php à deux dimension et JSON
    Par Faror dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/01/2013, 19h54
  2. [PHP 5.2] Array php Encode JSon
    Par clecle dans le forum Langage
    Réponses: 21
    Dernier message: 14/06/2012, 17h41
  3. PHP array to json to android Spinner
    Par monta007 dans le forum Composants graphiques
    Réponses: 2
    Dernier message: 20/04/2011, 11h13
  4. Array Php vers Json
    Par okoweb dans le forum Langage
    Réponses: 2
    Dernier message: 18/01/2011, 13h18

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