Accueil > Forum > > > > Programmation php!!
Programmation php!!
dimanche 10 janvier 2010 à 14:14:21 |
Programmation php!!

lorninette
|
Voilà j'ai une base de données sous sql server 2008 et je programme avec php, mon but est de créer une interface de statistiques, c'est à dire afficher des grapghiques(histogrammes,...)à partir des données qu'il y a dans la base (taux de chômeurs par exemple) et c'est biensur dynamique, quelqun pourrait-il m'aider ou m'orienter vers un solution????  Merci
|
|
lundi 11 janvier 2010 à 10:59:49 |
Re : Programmation php!!

TheGorgo
|
Salut,
Pour générer tes graphiques, rien de tel que la librairie GD
Regardes sur cette page http://fr.php.net/manual/fr/ref.image.php
Si tu as d'autres questions n'hésites pas
|
|
lundi 11 janvier 2010 à 11:25:50 |
Re : Programmation php!!

TheGorgo
|
Voici un exemple que j'avais réalisé il y a quelques mois.
C'est un script qui affiche un diagramme de statistiques des visites sur mon site.
Code PHP :
<?php header("Content-type:image/png"); ?>
<?php
/* ***************************************************************************** */
/* ***************************************************************************** */
/* EXEMPLE DE GRAPHIQUE EN BARRE */
/* ***************************************************************************** */
/* ***************************************************************************** */
// Inclusion d'un fichier qui contient la définition de mes classes
include PHP_PATH.PHP_CLASSES;
?>
<?php
// Requêtes SQL : Récupérer toutes les visites stockées dans la table "Visite"
$Query = new MySqlSelectQuery("Visites", "DISTINCT PAGE", "", "PAGE ASC");
$Cursor = $Query->Execute();
$i = 0;
if(isset($_GET['P']) && !empty($_GET['P']))
{
$Debut = $_GET['P']."-01 00:00:00";
$jours = date("t", mktime(0, 0, 0, $mois, 1, $annee));
$Fin = $_GET['P']."-".$jours." 23:59:59";
}
for($Row = $Cursor->Next(); $Row != null; $Row = $Cursor->Next())
{
if(isset($_GET['P']) && !empty($_GET['P']))
{
$Query2 = new MySqlSelectQuery("Visites", "*, UNIX_TIMESTAMP(DATE) AS D", "PAGE = '".$Row['PAGE']."' AND DATE >= '".$Debut."' AND DATE <= '".$Fin."'");
}
else
{
$Query2 = new MySqlSelectQuery("Visites", "*, UNIX_TIMESTAMP(DATE) AS D", "PAGE = '".$Row['PAGE']."'");
}
$Cursor2 = $Query2->Execute();
// On traite les résultats et on les stockes dans un tableau
$Tab[$i]['PAGE'] = $Row['PAGE'];
$Tab[$i]['NOMBRE'] = 0;
for($Row2 = $Cursor2->Next(); $Row2 != null; $Row2 = $Cursor2->Next())
{
$Tab[$i]['NOMBRE']++;
}
$i++;
}
?>
<?php
// Définition des Variables de l'image
$img = imagecreatetruecolor(770, 510);
//// Couleurs ////////////////////////////////////////////////
//// Gris ////
$w = imagecolorallocate($img, 243, 243, 243);
//// Noir ////
$n = imagecolorallocate($img, 0, 0, 0);
//// Bleu ////
$b = imagecolorallocate($img, 60, 123, 207);
//// Orange ////
$o = imagecolorallocate($img, 255, 126, 0);
//// Gris ////
$g = imagecolorallocate($img, 200, 200, 200);
//// Gris Foncé ////
$gf = imagecolorallocate($img,100, 100, 100);
//// Style des Lignes Pointillées ////////////////////////////
$style = array ($w,$w,$w,$w,$g,$g,$g,$g);
imagesetstyle ($img, $style);
//// Constantes//////////////// //////////////////////////////
define("_Y_MAX_", 450);
//// Remplissage en Blanc ////////////////////////////////////
imagefill ($img, 0, 0, $w);
$NombreLignes = count($Tab);
$EspaceLignes = 744 / ($NombreLignes + 1);
$LageurRectangle = $EspaceLignes / 2;
$ll = $EspaceLignes + 25;
for($l = 0; $l < $NombreLignes; $l ++)
{
// Traçage d'une ligne en pointillés
imageline ($img, $ll, 5, $ll, 505, IMG_COLOR_STYLED);
$ll += $EspaceLignes;
}
$N = 0;
$i = abs($Tab[0]['NOMBRE']);
for($N = 0; $N < count($Tab); $N ++)
{
if(abs($Tab[$N]['NOMBRE']) >= $i)
{
$i = abs($Tab[$N]['NOMBRE']);
}
}
if($i == 0)
{
$i = 1;
}
// La variable étalonnage définie la hauteur maximale des lignes. Toutes les autres lignes ne devront pas atteindre cette valeur
$Etalonnage = _Y_MAX_ / $i;
$x = $EspaceLignes / 4;
$x1 = 3 * $x + 25;
$x2 = $x1 + 2 * $x;
//// quadrillage horizontal //////////////////////////////////
if($Etalonnage == 0)
{
$Etalonnage = 1;
}
$e = round(510, $Etalonnage);
for($N = 0; $N < count($Tab); $N ++)
{
$Tab[$N]['Y'] = abs($Tab[$N]['NOMBRE']) * $Etalonnage;
imageline ($img, 25, (505 - $Tab[$N]['Y']), 769, (505 - $Tab[$N]['Y']), IMG_COLOR_STYLED);
imagestring($img, 1, 2, (505 - $Tab[$N]['Y']) - 5, $Tab[$N]['NOMBRE'], $n);
}
for($N = 0; $N < count($Tab); $N ++)
{
$Tab[$N]['Y'] = abs($Tab[$N]['NOMBRE']) * $Etalonnage;
if($Tab[$N]['NOMBRE'] > 0)
{
// Traçage d'un rectangle
imagefilledrectangle ($img, $x1, (505 - $Tab[$N]['Y']), $x2, 505, $b);
$x1 = $x1 + 4 * $x;
$x2 = $x1 + 2 * $x;
}
elseif($Tab[$N]['NOMBRE'] < 0)
{
imagefilledrectangle ($img, $x1, 505, $x2, (505 + $Tab[$N]['Y']), $b);
$x1 = $x1 + 4 * $x;
$x2 = $x1 + 2 * $x;
}
}
$x = $EspaceLignes / 4;
$x1 = 4 * $x;
$x2 = $x1 + 2 * $x;
for($N = 0; $N < count($Tab); $N ++){
if($Tab[$N]['NOMBRE'] >= 0){
imagestring($img, 3, $x1 - 20, (505 - $Tab[$N]['Y']) - 20, $Tab[$N]['PAGE'], $o);
$x1 = $x1 + 4 * $x;
}
else {
imagestring($img, 3, $x1 - 20, (505 + $Tab[$N]['Y']) + 20, $Tab[$N]['PAGE'], $o);
$x1 = $x1 + 4 * $x;
}
}
//// Afficher la Moyenne ///////////////////////////////////////
$Moyenne = 0;
for($iii = 0; $iii < count($Tab); $iii++)
{
$Moyenne += $Tab[$iii]['NOMBRE'];
}
$Moyenne /= count($Tab);
$MoyenneY = 505 - abs($Moyenne) * $Etalonnage;
imageline ($img, 25, $MoyenneY, 769, $MoyenneY, $o);
imageline ($img, 25, 5, 769, 5, $n);
imageline ($img, 25, 505, 769, 505, $n);
imageline ($img, 25, 5, 25, 505, $n);
imageline ($img, 769, 5, 769, 505, $n);
imagestring($img, 1, 45, $MoyenneY - 15, $Moyenne, $o);
imageinterlace($img, 1);
header("Content-type: image/png");
imagepng($img);
?>

|
|
lundi 11 janvier 2010 à 12:51:57 |
Re : Programmation php!!

Tonio_35
|
Hello,
tu as plusieurs solutions :
CSS => http://www.alsacreations.com/tuto/lire/577-Des-statistiques-graphiques-grace-aux-CSS.html
Très limité...
Flash => http://teethgrinder.co.uk/open-flash-chart/
Nécessite que le client ai flash et la limite est celle des lib que tu trouveras, tu pourras annimer tes données...
PHP => La solution de TheGorgo avec GD Ou des libs :
http://pchart.sourceforge.net/index.php http://www.artichow.org/ ...
Tu as plein d'autres lib...
_________________________________
Min iPomme
|
|
lundi 18 janvier 2010 à 01:48:58 |
Re : Programmation php!!

lorninette
|
Merci à tous pour vos suggestions!!!jvais les essayer et on verra le résultat,thank's!!
|
|
Cette discussion est classée dans : base, php, données, programmation
Répondre à ce message
Sujets en rapport avec ce message
Aide de programmation sous PHP [ par Guy_roland ]
Bonjour, j'ai crée un code en PHP me permettant de lister le contenu d'une base de données MYSQL.Mais il ya un problème au niveau de l'arrêt de la sel
Base de données, php et flux [ par benjimanweb ]
J'aimerai savoir s'il est possible de créer un script permettant de voir ce que l'ordinateur verifie sur la base de données lorsque l'on clique sur le
php et base des données [ par bikilde ]
bonjour,j'ai des difficultés pour afficher les donnees qui sont dans la base des donnees, exemplePere EnfantAlex  
Php + Base de données [ par slipknot240504 ]
Bonjour à tous,Avant de vous poser ces questions j'ai bien chercher sur Internet et je n'ai pas trouvé de questions qui y répondent donc je vous les p
Transfert de bases de données Mysql en PHP [ par cz1702 ]
Bonjour à tous,Je cherche à transférer une base de données Mysql_A (se trouvant sur le serveur A) vers une autre base de données Mysql_B (sur le serve
connection entre page php et la Base de données [ par selma2ce ]
svp aider moi ; je veux faire la connection à ma base de donnée. j'ai fait un site web (de débutant) et à la page commande j'ai fait un formulaire à r
petit aide [ par cripgil ]
bonjour tout le monde, je me présente : étudiant développeur en informatique, base de données (oracle, postgres..), je fait mes débuts avec PHP, de m
Récupérer données d'une base sql [ par Billybobbonnet ]
Bonjour,Je suis débutant en php/sql et je ne sais pas comment récupérer les valeurs d'une ligne de table SQL dans des variables. Voilà la commande qui
Formulaire complexe avec connexion php/mysql [ par baxhax ]
bonjour les amis Salut, je suis dans l'impasse, je suis débutant dans php et je dois faire un projet de recherche pour créer une base de données ave
En PHP, créer une base de données simples [ par JLB59 ]
Bonjour à tous,Voilà, j'utilise EasyPHP et je voulais savoir s'il est possible de créer une base et une table .sql à partir de PHP.Vous allez me dire
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|