8796 sujets

Développement web côté serveur, CMS

Bonsoir,
Je réussi à concevoir pour mon site un tout simple système de mesure d'audience en php avec une base de données, à présent, j'aimerais pouvoir afficher ça sous forme de graphique. J'ai déjà vu sur certains sites des graphiques dynamiques, je veux dire qui ne sont pas de simples images mais générés en html (je suppose).
J'aimerais que le graphique se divise en 6 courbes qui soient en fonction du temps (sur un mois par exemple). Les 6 courbes représenterais le nombre de visiteurs par navigateur, c'est à dire une courbe pour Google Chrome, une pour Safari, une pour Opera, une pour Firefox, une pour IE, et une pour les autres navigateurs.
Voilà ce que j'ai déjà fait:

index.php
<?php include_once("Analytics/Analytics.php") ?><html>Contenu</html>


/Analytics/Analytics.php
<?php
	include_once("Database.php");
	if (@mysql_connect($BD_serveur, $BD_utilisateur, $BD_motDePasse)) {
        if (@mysql_select_db($BD_base)) {
            $sql = "INSERT INTO Analytics (ipvisiteur, hostvisiteur, url, useragent, referrer, datevisite) ".
                 " VALUES('".$_SERVER["REMOTE_ADDR"]."',".
                     "'".addSlashes(getHostByAddr($_SERVER["REMOTE_ADDR"]))."',".
                     "'".addSlashes($_SERVER["REQUEST_URI"])."',".
                     "'".addSlashes($_SERVER["HTTP_USER_AGENT"])."',".
                     "'".addSlashes($_SERVER["HTTP_REFERER"])."',".
                     "NOW())";
            @mysql_query($sql);
        }
        @mysql_close();
    }

?>


/Analytics/index.php
<?php
	include_once("Database.php");
	if (@mysql_connect($BD_serveur, $BD_utilisateur, $BD_motDePasse)) {
		if (@mysql_select_db($BD_base)) {
			$strSQL = "SELECT * FROM Analytics ORDER BY datevisite DESC";
			$rs = mysql_query($strSQL);
			while($row = mysql_fetch_array($rs)) {
				include("Style.php");
				echo '<div>'.$row['useragent'].''.$row['datevisite'].'</div>';
			}
		}
	 @mysql_query($sql);
	}
	mysql_close();
?>


Analytics/Style.php
<?php
	if (stripos($row['useragent'], 'Chrome')) {
		$row['useragent']="Google Chrome";
	}
	
	elseif (stripos($row['useragent'], 'Safari')) {
		$row['useragent']="Safari";
	}
	
	elseif (stripos($row['useragent'], 'Firefox')) {
		$row['useragent']="Firefox";
	}
	
	elseif (stripos($row['useragent'], 'Presto')) {
		$row['useragent']="Opera";
	}
	
	elseif (stripos($row['useragent'], 'MSIE')) {
		$row['useragent']="Internet Explorer";
	}
	
	else {
		$row['useragent']="Autre";
	}
?>


Le fichier Database.php est le fichier de connexion à la base de données.

Voilà, merci de votre aide !
Modifié par xXjujo002Xx (19 Oct 2012 - 23:38)
Salut,
Je n'ai pas regardé ton topic en entier mais j'ai un question: pourquoi ne pas créer ton graphique en javasscript?

jQueri flot est un très bon plugin pour faire cela.
Si tu veux faire une animation lorsque le graphique se crée, par exemple les barre de l'histogramme qui grandissent dynamiquement. Visuellement c'est plutôt sympa, ça donne de la vie au site.
Je l ai fait sur un projet pro de statistique online.mais pas accessible sans compte désolé.


Je l ai également fait côté serveur (php) avec des images qui se crée automatiquement mais visuellement c est beaucoup moins classe...
Oui c'est intéressant d'animer mais secondaire (je saurais le faire seul), sinon je préfère un graphique par courbe à celui par colonne que tu me décrit.