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 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244
| <?php
session_start();
$db_conn = ocilogon( "pti", "rugbys" ,"//127.0.0.1/XE");
$stmt = OCIParse($db_conn, "SELECT typeintervention FROM pti.archive WHERE typeintervention='Assistance'");
OCIExecute($stmt);
$assistance = 0;
while (OCIFetch($stmt)) {
$assistance++;
}
OCIFreeStatement($stmt);
$stmt = OCIParse($db_conn, "SELECT typeintervention FROM pti.archive WHERE typeintervention='MAJ-AV'");
OCIExecute($stmt);
$MAJAV = 0;
while (OCIFetch($stmt)) {
$MAJAV++;
}
OCIFreeStatement($stmt);
$stmt = OCIParse($db_conn, "SELECT typeintervention FROM pti.archive WHERE typeintervention='Gestion des archives'");
OCIExecute($stmt);
$gestionarchive = 0;
while (OCIFetch($stmt)) {
$gestionarchive++;
}
OCIFreeStatement($stmt);
$stmt = OCIParse($db_conn, "SELECT typeintervention FROM pti.archive WHERE typeintervention='Restauration de fichier'");
OCIExecute($stmt);
$restaurationfichier = 0;
while (OCIFetch($stmt)) {
$restaurationfichier++;
}
OCIFreeStatement($stmt);
$stmt = OCIParse($db_conn, "SELECT typeintervention FROM pti.archive WHERE typeintervention='Droits Dacces'");
OCIExecute($stmt);
$droitacces = 0;
while (OCIFetch($stmt)) {
$droitacces++;
}
OCIFreeStatement($stmt);
$stmt = OCIParse($db_conn, "SELECT typeintervention FROM pti.archive WHERE typeintervention='PB/Installation PC'");
OCIExecute($stmt);
$pbpc = 0;
while (OCIFetch($stmt)) {
$pbpc++;
}
OCIFreeStatement($stmt);
$stmt = OCIParse($db_conn, "SELECT typeintervention FROM pti.archive WHERE typeintervention='PB/Installation Logiciel'");
OCIExecute($stmt);
$pblogiciel = 0;
while (OCIFetch($stmt)) {
$pblogiciel++;
}
OCIFreeStatement($stmt);
$stmt = OCIParse($db_conn, "SELECT typeintervention FROM pti.archive WHERE typeintervention='PB/Installation Imprimante'");
OCIExecute($stmt);
$pbimprimante = 0;
while (OCIFetch($stmt)) {
$pbimprimante++;
}
OCIFreeStatement($stmt);
$stmt = OCIParse($db_conn, "SELECT typeintervention FROM pti.archive WHERE typeintervention='Reinitialisation PWD'");
OCIExecute($stmt);
$pwd = 0;
while (OCIFetch($stmt)) {
$pwd++;
}
OCIFreeStatement($stmt);
$stmt = OCIParse($db_conn, "SELECT typeintervention FROM pti.archive WHERE typeintervention='Ouverture/Fermeture de Compte'");
OCIExecute($stmt);
$compte = 0;
while (OCIFetch($stmt)) {
$compte++;
}
OCIFreeStatement($stmt);
$stmt = OCIParse($db_conn, "SELECT typeintervention FROM pti.archive WHERE typeintervention='Devis'");
OCIExecute($stmt);
$devis = 0;
while (OCIFetch($stmt)) {
$devis++;
}
OCIFreeStatement($stmt);
$stmt = OCIParse($db_conn, "SELECT typeintervention FROM pti.archive WHERE typeintervention='MINX'");
OCIExecute($stmt);
$minx = 0;
while (OCIFetch($stmt)) {
$minx++;
}
OCIFreeStatement($stmt);
$stmt = OCIParse($db_conn, "SELECT typeintervention FROM pti.archive WHERE typeintervention='Messagerie'");
OCIExecute($stmt);
$messagerie = 0;
while (OCIFetch($stmt)) {
$messagerie++;
}
OCIFreeStatement($stmt);
$stmt = OCIParse($db_conn, "SELECT typeintervention FROM pti.archive WHERE typeintervention='Reseau'");
OCIExecute($stmt);
$reseau = 0;
while (OCIFetch($stmt)) {
$reseau++;
}
OCIFreeStatement($stmt);
$stmt = OCIParse($db_conn, "SELECT typeintervention FROM pti.archive WHERE typeintervention='Demande Perso'");
OCIExecute($stmt);
$perso = 0;
while (OCIFetch($stmt)) {
$perso++;
}
OCIFreeStatement($stmt);
$stmt = OCIParse($db_conn, "SELECT typeintervention FROM pti.archive WHERE typeintervention='Demande Divers'");
OCIExecute($stmt);
$divers = 0;
while (OCIFetch($stmt)) {
$divers++;
}
OCIFreeStatement($stmt);
$visite_par_mois[1]="$assistance";
$visite_par_mois[2]="$MAJAV";
$visite_par_mois[3]="$gestionarchive";
$visite_par_mois[4]="$restaurationfichier";;
$visite_par_mois[5]="$droitacces";
$visite_par_mois[6]="$pbpc";
$visite_par_mois[7]="$pblogiciel";
$visite_par_mois[8]="$pbimprimante";
$visite_par_mois[9]="$pwd";
$visite_par_mois[10]="$compte";
$visite_par_mois[11]="$devis";
$visite_par_mois[12]="$minx";
$visite_par_mois[13]="$messagerie";
$visite_par_mois[14]="$reseau";
$visite_par_mois[15]="$perso";
$visite_par_mois[16]="$divers";
// on calcule le nombre de pages vues sur l'année
$max_visite = max($visite_par_mois);
// on spécifie le type d'image que l'on va créer, ici ce sera une image au format PNG
header ("Content-type: image/png");
// on définit la largeur et la hauteur de notre image
$largeur = 950;
$hauteur = 500;
// on crée une ressource pour notre image qui aura comme largeur $largeur et $hauteur comme hauteur (on place également un or die si la création se passait mal afin d'avoir un petit message d'alerte)
$im = @ImageCreate ($largeur, $hauteur) or die ("Erreur lors de la création de l'image");
// on place tout d'abord la couleur blanche dans notre table des couleurs (je vous rappelle donc que le blanc sera notre couleur de fond pour cette image).
$blanc = ImageColorAllocate ($im, 255, 255, 255);
// on place aussi le noir dans notre palette, ainsi qu'un bleu foncé et un bleu clair
$noir = ImageColorAllocate ($im, 0, 0, 0);
$bleu_fonce = ImageColorAllocate ($im, 75, 130, 195);
$bleu_clair = ImageColorAllocate ($im, 95, 160, 240);
// on dessine un trait horizontal pour représenter l'axe du temps
ImageLine ($im, 20, $hauteur-40, $largeur-15, $hauteur-40, $noir);
// on dessine un trait vertical pour représenter le nombre de pages vues
ImageLine ($im, 20, 30, 20, $hauteur-40, $noir);
// on affiche les legendes sur les deux axes ainsi que différents textes (note : pour que le script trouve la police verdana, vous devrez placer la police verdana dans un repertoire /fonts/)
imagettftext($im, 14, 0, $largeur-70, $hauteur-10, $noir, "./fonts/verdana.ttf", "Type ");
imagettftext($im, 14, 0, 10, 20, $noir, "./fonts/verdana.ttf", "Nb. d'interventions");
imagettftext($im, 14, 0, $largeur-350, 20, $noir, "./fonts/verdana.ttf", "Statistiques pour l'année 2007");
imagettftext($im, 10, 0, $largeur-217, 50, $noir, "./fonts/verdana.ttf", "1 : Assistance");
imagettftext($im, 10, 0, $largeur-217, 65, $noir, "./fonts/verdana.ttf", "2 : MAJ-Antivirus");
imagettftext($im, 10, 0, $largeur-217, 80, $noir, "./fonts/verdana.ttf", "3 : Gestion Archive");
imagettftext($im, 10, 0, $largeur-217, 95, $noir, "./fonts/verdana.ttf", "4 : Restauration fichier");
imagettftext($im, 10, 0, $largeur-217, 110, $noir, "./fonts/verdana.ttf", "5 : Droit d'accès");
imagettftext($im, 10, 0, $largeur-217, 125, $noir, "./fonts/verdana.ttf", "6 : Problème PC");
imagettftext($im, 10, 0, $largeur-217, 140, $noir, "./fonts/verdana.ttf", "7 : Problème logiciel");
imagettftext($im, 10, 0, $largeur-217, 155, $noir, "./fonts/verdana.ttf", "8 : Problème Imprimante");
imagettftext($im, 10, 0, $largeur-217, 170, $noir, "./fonts/verdana.ttf", "9 : Mot de Passe");
imagettftext($im, 10, 0, $largeur-225, 185, $noir, "./fonts/verdana.ttf", "10 : Ouverture/fermeture compte");
imagettftext($im, 10, 0, $largeur-225, 200, $noir, "./fonts/verdana.ttf", "11 : Devis");
imagettftext($im, 10, 0, $largeur-225, 215, $noir, "./fonts/verdana.ttf", "12 : Minx");
imagettftext($im, 10, 0, $largeur-225, 230, $noir, "./fonts/verdana.ttf", "13 : Messagerie");
imagettftext($im, 10, 0, $largeur-225, 245, $noir, "./fonts/verdana.ttf", "14 : Réseau");
imagettftext($im, 10, 0, $largeur-225, 260, $noir, "./fonts/verdana.ttf", "15 : Perso");
imagettftext($im, 10, 0, $largeur-225, 275, $noir, "./fonts/verdana.ttf", "16 : Divers");
// on parcourt les douze mois de l'année
for ($mois=1; $mois <= 16; $mois++) {
if ($visite_par_mois[$mois]!="0") {
// on calcule la hauteur du baton
$hauteurImageRectangle = ceil(((($visite_par_mois[$mois])*($hauteur-100))/$max_visite));
if ($mois=="1") {
// si le mois est janvier, on affiche notre premier baton
// on affiche le premier baton noir
ImageFilledRectangle ($im, 42, ($hauteur-40)-$hauteurImageRectangle, 42+14, $hauteur-41, $noir);
// on affiche le second baton, bleu foncé, qui sera un peu plus petit que le noir afin de recouvrir une partie du noir
ImageFilledRectangle ($im, 44, ($hauteur-40)-$hauteurImageRectangle+2, 42+12, $hauteur-41-1, $bleu_fonce);
// on affiche le dernier baton, bleu clair, qui sera un peu plus petit que le bleu foncé afin de recouvrir une partie du bleu foncé (on obtiendra ainsi un effet de dégradé)
ImageFilledRectangle ($im, 48, ($hauteur-40)-$hauteurImageRectangle+2, 42+8, $hauteur-41-1, $bleu_clair);
imagettftext($im, 10, 0, ($mois)*42, ($hauteur-40)-$hauteurImageRectangle-5, $noir, "./fonts/verdana.ttf", "$visite_par_mois[$mois]");
}
else {
// si le mois est different de janvier, on affiche les autres batons
ImageFilledRectangle ($im, ($mois)*42, ($hauteur-40)-$hauteurImageRectangle, ($mois)*42+14, $hauteur-41, $noir);
ImageFilledRectangle ($im, ($mois)*42+2, ($hauteur-40)-$hauteurImageRectangle+2, ($mois)*42+12, $hauteur-41-1, $bleu_fonce);
ImageFilledRectangle ($im, ($mois)*42+6, ($hauteur-40)-$hauteurImageRectangle+2, ($mois)*42+8, $hauteur-41-1, $bleu_clair);
imagettftext($im, 10, 0, ($mois)*42, ($hauteur-40)-$hauteurImageRectangle-5, $noir, "./fonts/verdana.ttf", "$visite_par_mois[$mois]");
}
}
}
// on affiche le numéro des 12 mois
for ($i=1; $i<=16; $i++) {
if ($i==1) {
ImageString ($im, 2, 42, $hauteur-38, $i, $noir);
}
else {
ImageString ($im, 2, ($i)*42, $hauteur-38, $i, $noir);
}
}
// on dessine le tout
Imagepng ($im);
?> |
Partager