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

EDI, CMS, Outils, Scripts et API PHP Discussion :

statistiques avec php


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut statistiques avec php
    bonjour les amis chui débutante en php et j'ai crée une application web où j'ai présenté des données statistiques ,mai elle ne marche pas,
    alors voici le code, et merci bk,


    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
       <?php
              include "config.php";
            $query= mysql_query('SELECT MONTH(dateval) AS mois, Name,(SELECT COUNT(*)  FROM '.$table.'
    WHERE  MONTH(dateval)= mois AND YEAR(dateval)=2014)AS statval FROM '.$table.'
    WHERE  YEAR(dateval)=2014 GROUP BY mois ORDER BY mois ASC');
             while ($donnee = mysql_fetch_array($query))
             {
                 echo'count='.$donnee['statval'];
             }
            $moisFr=array('Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Decembre');
    $resultat=array();
    $i=0;
    while($row=mysql_fetch_object($query))
    {
        //Mettre la ligne dans le tableau
        $resultat[$row->mois]=$row->statval;
        //Prendre la première quantité vendu comme minimum et maximum
        if($i==0)
    		{
    			$min=$row->statval;
    			$max=$row->statval;
    		}
        //Tester si la quantité vendu est inférieur au minimum et le prendre si il l'est
        if($row->statval < $min)
    		{
    			$min=$row->statval;
    		}
        //Tester si la quantité vendu est inférieur au maximum et le prendre si il l'est
        else
    		{
    			if($row->statval > $max)
    			 {
    			 	$max=$row->statval;
    			}
    		}
        $i++;
     
     
    }
     
     
    /*****************************************************************************/
    //Type mime de l'image
    header('Content-type: image/png');
    //Chemin vers le police à utiliser
    $font_file = './arial.ttf';
    //Adapter la largeur de l'image avec le nombre de donnée
    $largeur=$i*50+90;
    $hauteur=400;
    //Hauteur de l'abscisse par rapport au bas de l'image
    $absis=80;
    //Création de l'image
    $courbe=imagecreatetruecolor($largeur, $hauteur);
    //Allouer les couleurs à utiliser
    $bleu=imagecolorallocate($courbe, 0, 0, 255);
    $ligne=imagecolorallocate($courbe, 220, 220, 220);
    $fond=imagecolorallocate($courbe, 250, 250, 250);
    $noir=imagecolorallocate($courbe, 0, 0, 0);
    $rouge=imagecolorallocate($courbe, 255, 0, 0);
    //Colorier le fond
    imagefilledrectangle($courbe,0 , 0, $largeur, $hauteur, $fond);
    //Tracer l'axe des abscisses
    imageline($courbe, 50, $hauteur-$absis, $largeur-10,$hauteur-$absis, $noir);
    //Tracer l'axe des ordonnées
    imageline($courbe, 50,$hauteur-$absis,50,20, $noir);
    //Decaler 10px vers le haut le si le minimum est différent de 0
    if($min!=0)
    {
        $absis+=10;
        $a=10;
    }
    //Nombres des grides verticales
    $nbOrdonne=10;
    //Calcul de l'echelle des abscisses
    $echelleX=($largeur-100)/$i;
    //Calcul de l'echelle des ordonnees
    $echelleY=($hauteur-$absis-20)/$nbOrdonne;
    $i=$min;
    //Calcul des ordonnees des grides
    $py=($max-$min)/$nbOrdonne;
    $pasY=$absis;
    while($pasY<($hauteur-19))
    {
        //Affiche la valeur de l'ordonnee
        imagestring($courbe, 2,10 , $hauteur-$pasY-6, round($i), $noir);
        //Trace la gride
        imageline($courbe, 50, $hauteur-$pasY, $largeur-20,$hauteur-$pasY, $ligne);
        //Decaller vers le haut pour la prochaine gride
        $pasY+=$echelleY;
        //Valeur de l'ordonnee suivante
        $i+=$py;
    }
     
     
     
    /***************************************************************************/
    $j=-1;
     //Position de la première mois de vente
     $pasX=90;
     //Parcourir le tableau pour le traçage de la diagramme
     foreach ($resultat as $mois => $quantite) {
       //calculer la hateur du point par rapport à sa valeur
       $y=($hauteur) -(( $quantite  -$min) * ($echelleY/$py))-$absis;
       //dessiner le point
       imagefilledellipse($courbe, $pasX, $y, 6, 6, $rouge);
       //Afficher le mois en français avec une inclinaison de 315°
       imagefttext($courbe, 10, 315, $pasX, $hauteur-$absis+20, $noir, $font_file, $moisFr[$mois-1]);
       //Tacer une ligne veticale de l'axe de l'abscisse vers le point
       imageline($courbe, $pasX, $hauteur-$absis+$a, $pasX,$y, $noir);
       if($j!==-1)
        {
          //liée le point actuel avec la précédente
          imageline($courbe,($pasX-$echelleX),$yprev,$pasX,$y,$noir);
        }
        //Afficher la valeur au dessus du point
       imagestring($courbe, 2, $pasX-15,$y-14 , $quantite, $bleu);
       $j=$quantite;
       //enregister la hauteur du point actuel pour la liaison avec la suivante
       $yprev=$y;
       //Decaller l'abscisse suivante par rapport à son echelle
       $pasX+=$echelleX;
    }
    //Envoyer le flux de l'image
    imagepng($courbe);
    //Desallouer le memoire utiliser par l'image
    imagedestroy($courbe);
     
          ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    J'ai l'impression que tu t'es perdu en cours de route dans ta requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      $query= mysql_query('SELECT MONTH(dateval) AS mois, COUNT(*) as statval FROM '.$table.'
    WHERE  YEAR(dateval)=2014  
    GROUP BY MONTH(dateval)
    ORDER BY MONTH(dateval) ASC');
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    merci bk, mais il ne marche pas encore,je ne s'est pas où est le problème :'(

Discussions similaires

  1. Réponses: 10
    Dernier message: 12/06/2013, 22h49
  2. Statistiques avec courbe en PHP
    Par DezMax dans le forum Langage
    Réponses: 2
    Dernier message: 26/03/2013, 19h35
  3. [PostgreSQL] Statistiques avec PHP / PostgreSQL
    Par MichaelKyle dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 14/06/2012, 17h13
  4. [GD] Création de graphes statistiques et géométriques avec PHP et la librairie GD
    Par andry.aime dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 24/09/2009, 10h59
  5. Création d'utilisateur sous PostgreSQL 7.3.2 avec PHP
    Par duongkhang dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 06/06/2003, 13h10

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