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

MkFramework Discussion :

Graphique et base de données


Sujet :

MkFramework

  1. #1
    Membre du Club
    Graphique et base de données
    Bonjour Mika,

    Je voudrais savoir, comment faire pour mettre les informations de notre base de donnée dans un graphique en camembert.

    Je voudrais savoir comment créer un filtre pour afficher un camembert selon un filtre.

  2. #2
    Rédacteur

    Voici le tutoriel pour creer un camembert:
    http://mkframework.com/faq.html#chart

    Il y a une discussion ici qui peut vous aider https://www.developpez.net/forums/d1...on-graphiques/
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  3. #3
    Membre du Club
    Merci beaucoup,

    Mais je voudrais savoir comment faire par exemple, j'ai une liste déroulante avec des auteurs et quand je choisi un auteur dans la liste deroulante, le camembert apparaît et donne le statistique avec le nombre de livre vendu.

  4. #4
    Rédacteur

    Bonsoir,
    Il faut faire par étape

    Plutôt un menu déroulant, ou un tableau listant les auteurs peut faire l'affaire ?

    Ensuite il faut préparer votre requête en base de données : si vous vouez un camembert c'est pour afficher quel rapport ? il vous faut deja retourner le chiffre voulu

    vous pouvez a ce moment la l'afficher pour verifier que tout en amont est correct

    et un fois que vous en etes la, vous pouvez simplement appeler le plugin de graphique de votre choix (camembert ou autre)
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  5. #5
    Membre du Club
    Bonsoir Mika,

    Plutôt un menu déroulant pour lister les auteurs et quand je clique sur un auteur que sa affiche le camembert avec les chiffres voulu.

    Pour la requête c'est déjà fais et je retourne le chiffre voulu (mais je comprend pas pourquoi le camembert donne des résultats que en pourcentage)

    Je l'ai déjà afficher pour voir si tout est correcte.

    Le graphique que je veux est un camembert.

  6. #6
    Rédacteur

    Bonjour,
    Voila un exmple de petite application qui affiche via un menu deroulant un camembert des ventes de chacun des auteurs

    note: j'ai utilise une base xml pour pouvoir avec un exple qui marche et que vous pouvez voir, il faudra bien sur s'en inspirer pour votre projet

    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  7. #7
    Membre du Club
    Bonjour Mika

    Ah merci franchement c'est ce que je voulais, vraiment au top.

    Je n'arrive pas a l'afficher par année je comprend pas pourquoi le filtre ne fonctionne pas avec les années

  8. #8
    Rédacteur

    Bonjour,
    il me faudrait plus d'informations pour vous aider

    Pour info vous pouvez activer le log informatif pour voir un maximum d'informations, notamments les requetes executees en base

    pour cela, dans le fichier conf/site.ini.php, section "log" , mettez "information" à 1
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  9. #9
    Membre du Club
    Bonjour Mika,

    Dans ma base de donnée, je récupère dans un champs date du jour, l'année avec Extract(YEARS From Datejours) as année et dans ma liste déroulante j'arrive a avoir les années et ensuite quand je choisi une année sa m'affiche le camembert avec les données dans un tableau mais dès quand je change d'année, les données ne change et reste pareil.

    On ma dit que c'est une histoire de "Ajax" afin de recharger la page pour que sa prenne en compte l'année choisi dans le select.

  10. #10
    Rédacteur

    Pas besoin d'ajax, dans l'exemple que je vous ai fourni j'ai simplement mis un onChange qui soumet le formulaire à chaque changement

    et dans le code du main.php on recupere simplement la valeur

    mais dans votre cas il faudrait voir ou ça coince: quand vous changer la valeur du menu déroulant, vous rechargez bien la page ?

    a l'aide de la barre de debug,
    - vous pouvez vérifier les paramètres get et post pour vérifier que vous les récupérez bien,
    - enfin comme je vous l'ai dit : activez le log information, et vous aurez egalement les requetes sql executees visible dans la barre de debug
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  11. #11
    Membre du Club
    Bonjour Mika,

    Finalement j'ai réussi, je te remercie de ton aide.

    Mon erreur venait de ma requête SQL, malgré les nombreux essaie j'ai fini par réussir.

    Mais par contre je n'arrive pas a mettre plusieurs filtre c'est normal ?

  12. #12
    Rédacteur

    C'est à dire ?

    vous mettez plusieurs menu déroulant ?
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  13. #13
    Membre du Club
    Oui voila je met plusieurs menu déroulant.

    J'ai ce message d'erreur : Call to undefined method plugin_form::getSelect2()

  14. #14
    Rédacteur

    pourquoi mettre getSelect2 ?

    vous pouvez poster le code de votre vue ?
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  15. #15
    Membre du Club
    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
    43
    <?php 
    $oForm=new plugin_form();
    ?>
     
    <form action="" method="POST">
     
    Année <?php echo $oForm->getSelect('datejours',$this->tstatistique,array('onChange'=>'this.parentNode.submit()'))?>
    &nbsp; &nbsp;
    Mois <?php echo $oForm->getmonth('datedeb',$this->tsmonth,array('onChange'=>'this.parentNode.submit()'))?>
     
    </form>
     
    <p>&nbsp;</p>
     
    <h1><center>Camembert</center></h1><br><br>
     
    <?php if(isset($this->oChartPie) )<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />>
     
    <table class="table">
     
    		<tr>
    			<th>Demandeur</th>
    			<th>Total</th>
    		</tr>
     
    		<?php foreach($this->tData as $data)<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />>
     
    		<?php list($demandeur,$total)=$data;?>
     
    		<tr>
    				<td><?php echo $demandeur?></td>
    				<td><?php echo $total?></td>
    			</tr>
     
    			<?php endforeach;?>
    	</table>
     
    	<p>&nbsp;</p>
     
     
    <center><?php echo $this->oChartPie->show()?></center>
     
    <?php endif;?>


    Comment faire ? Montre moi un exemple s'il te plait ?

  16. #16
    Rédacteur

    Je ne comprends pas pourquoi vous avec cette erreur
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
     Call to undefined method plugin_form::getSelect2()


    alors qu'a aucun momnet je ne vois getSelect2 dans la vue que vous avez posté

    Quand vous avez l'erreur, il doit vous indiquer le fichier et la ligne en erreur
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  17. #17
    Membre du Club
    Citation Envoyé par imikado Voir le message
    Je ne comprends pas pourquoi vous avec cette erreur
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
     Call to undefined method plugin_form::getSelect2()


    alors qu'a aucun momnet je ne vois getSelect2 dans la vue que vous avez posté

    Quand vous avez l'erreur, il doit vous indiquer le fichier et la ligne en erreur
    Le getSelect2 je l'avais mis dans mon modele qui prend en compte la page mais la j'ai tout supprimer car malgré mes nombreuses recherche j'y arrivais pas donc la je reprend tout a zéro pour savoir comment mettre deux ou plusieurs menu déroulant qui serve de filtre pour afficher le camembert

  18. #18
    Rédacteur

    Vous pouvez reprendre mon exemple en modifant une chose: desactiver le onchange sur le menu deroulant

    ainsi vous mettez vos N menus deroulant de filtre + un bouton de validation des filtres (un type=submit) qui validera le formulaire pour prendre en compte vos critere de recherche (sur votre requete SQL)
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  19. #19
    Membre du Club
    Mais pourquoi avec un Onechange sa fonctionnerai pas ?

  20. #20
    Rédacteur

    Si ça marcherait mais ça serait pas ergonomique:

    vous avez 3 menu deroulant de filtre, à chaque fois que vous changer la valeur d'un champ, la page se recharge, c'est pas super pratique, apres si vous trouvez ça ergonomique vous pouvez mettre un onchange sur les 3 ou N menu deroulant, c'est comme vous voulez
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

###raw>template_hook.ano_emploi###