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

Bibliothèques & Frameworks Discussion :

Adapter suivant la taille du tableau


Sujet :

Bibliothèques & Frameworks

Vue hybride

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Par défaut Adapter suivant la taille du tableau
    Salut !

    Voila j'ai un petit probleme, je souhaite avoir un graphique (un camembert) qui affiche le rapport entre les différentes aires géographiques.
    Pour l'instant j'en ai 3, mais il se peut que plus tard, il y en ai 5 par exemple et du coup mon code ne marcherait plus.

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    data: [
    	[tab_areas[0], return_areas[0]],
    	[tab_areas[1], return_areas[1]],
    	[tab_areas[2], return_areas[2]]
    ]
    Les données du graphique sont donc implémenté sous cette forme, il faut donc impérativement :
    ["nom_donnée", "valeur_donnée"]
    ce que je voudrai c qu'on ait quelque chose comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(var j=0;j<tab_areas.length;j++){
    [tab_areas[j], return_areas[j]];
    }
    sauf que ca ne va pas, je ne peux pas mettre de for, il comprend pas...

    Donc faut il passer par le php absolument ? (barbar :O)

    et faire quelque chose comme ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php $i =0;
            foreach (?>tab_areas<?php as $areas) {
                    echo "[ '$areas'," ;?> return_areas[<?php echo $i; ?>]],	
    		<?php
                    $i = $i +1;
    } ?>
    (qui ne marche pas, il me dit unexpected '?>')


    Si vous avez une idée je suis preneur !

  2. #2
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par défaut
    je souhaite avoir un graphique (un camembert)
    Tu te bases sur une librairie j'imagine ? Elle doit attendre un data structuré d'une certaine façon, non ?
    J'ai l'impression que tu confonds "tableau indexé" et "tableau associatif".
    C'est une notion importante en JavaScript, souvent mal comprise :

    Qu'est-ce qu'un tableau et Comment déclarer et initialiser un tableau indexé
    Tableau associatif, explication de Watilin

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Par défaut
    Merci de ta réponse !

    Oui comme je l ai indiqué, le data doit etre sous cette forme

    ["nom_donnée", "valeur_donnée"]
    avec exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    data: [
    	[tab_areas[0], return_areas[0]],
    	[tab_areas[1], return_areas[1]],
    	[tab_areas[2], return_areas[2]]
    ]
    Je comprend la différence entre les deux, cependant je ne comprend pas en quoi cela résoud mon probleme ici, dans tous les cas, comment faire sans une boucle ? Il faut impérativement mettre une boucle or si je met une boucle dans data:[] il va pas etre content

    Je me suis donc dit de mettre une boucle dans data mais en php qui sera donc en gros invisible pour lui, il verra que
    [tab_areas[0], return_areas[0]],
    [tab_areas[1], return_areas[1]],
    [tab_areas[2], return_areas[2]]
    Mais le php que j ai tenté ne marche pas, je suis donc venu ici, ne sachant plus quoi faire

  4. #4
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par défaut
    data doit être construit à partir de données contenues dans une base de données je présume ? Donc c'est au serveur de construire ce tableau data.

    Et souviens toi, c'est la requête qui filtre

    Pour reprendre ton environnement serveur de ton post précédent : (bien sûr, à adapter au nom de tes colonnes et de tes tables)
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $return_arr  =  array();
    $stmt = $BdD->prepare("SELECT nom_donnee, valeur_donnee FROM table");
    while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
      $return_arr[] =  array($row["nom_donnee"], $row["valeur_donnee"]);
    }

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Par défaut
    encore ce vilain SQL !

    Mais moi ce que je veux c par exemple, le nombre total de produits vendu (chaque ligne de la base de données est un produit), pour la région AMERICAS, la région EMEA et la région APAC

    Et mon camembert montre donc ce rapport entre ces trois régions ...


    Ici, je ne pense pas qu'on obtient ca

    Et pis je ne comprend pas comment on obtient la forme

    ["nom_donnée", "valeur_donnée"]
    Donc par exemple

    ["AMERICAS", 45521]
    Avec un tableau comme tu as fait

    Faudrait faire un espece de
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT count(*) FROM table_actis WHERE Regions =:area;


    ???

    Y n empeche que je ne comprend toujours pas comment le mettre dans mon data[] ensuite, pour que ca s adapte suivant le nombre de régions et tout

  6. #6
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par défaut
    Mais moi ce que je veux c par exemple, le nombre total de produits vendu (chaque ligne de la base de données est un produit), pour la région AMERICAS, la région EMEA et la région APAC
    Encore et toujours du SQL ! Il faut que tu traduises cette phrase en requête SQL. Rien d'insurmontable si tu as des cours de SQL

    Et pis je ne comprend pas comment on obtient la forme

    ["nom_donnée", "valeur_donnée"]
    Comme je l'ai dit dans mon post précédent, un résultat de requête SQL avec l'option PDO::FETCH_ASSOC = un tableau associatif PHP. Pour obtenir la forme que tu souhaites, il faut ruser :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $return_arr  =  array();
    $stmt = $BdD->prepare("SELECT nom_donnee, valeur_donnee FROM ta_requete_de_ouf");
    while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
      $return_arr[] =  array($row["nom_donnee"], $row["valeur_donnee"]);
    }
    // Donnera ce genre de tableau PHP :
    array(
      array("AMERICAS", 45521),
      array("EMEA", 151541),
      array("APAC", 5952982)
    )
    Comme précédemment, tu appelleras cette requête via $.ajax non ? Donc dans ton JavaScript, tu pourras gérer ton retour JSON, qui aura cette forme :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    success: function(json) {
      callback(json);
      // json a cette forme (en se basant sur le PHP ci-dessus)
      [
        ["AMERICAS", 45521],
        ["EMEA", 151541],
        ["APAC", 5952982]
      ]

Discussions similaires

  1. [XL-2010] Export tableau Excel vers Word et adaptation de la taille à la page ?
    Par loliv44 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 14/11/2014, 11h27
  2. Problème de taille de tableau
    Par k-nine dans le forum C
    Réponses: 6
    Dernier message: 25/09/2005, 10h16
  3. [VBA-E] taille du tableau non connu
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 26/07/2005, 16h51
  4. static const et taille de tableau
    Par tut dans le forum C++
    Réponses: 3
    Dernier message: 27/01/2005, 17h01
  5. Réponses: 3
    Dernier message: 22/07/2002, 15h19

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