Script d'affichage du nombre de vues corrigé et optimisé

Soyez le premier à donner votre avis sur cette source.

Snippet vu 289 fois

Contenu du snippet

Bonjour,
Voici un code PHP pour afficher le nombre de vues d'une page web.
Le script s'intalle sur toutes les pages du site.
La table de base de données est donnée aussi.

1. La table SQL
2. Le script PHP

1.
CREATE TABLE IF NOT EXISTS `affichages` (
  `id` int(11) NOT NULL auto_increment,
  `page` varchar(256) collate latin1_general_ci NOT NULL,
  `nombre` int(11) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;


2.
<?PHP

$db = mysql_connect('host','login','password') or die ("erreur de connexion");
mysql_select_db('table',$db); 

//Déclaration des variables
$serveur1 = $_SERVER['SERVER_NAME'];
$serveur2 = $_SERVER['REQUEST_URI'];
$url = "http://".$serveur1."".$serveur2;

	//On cherche si l'URL existe dans la base de données
	$sql14 = "SELECT * FROM affichages WHERE page='$url'";
	$req14 = mysql_query($sql14) or die('Erreur SQL !<br>'.$sql14.'<br>'.mysql_error());
	while($data = mysql_fetch_assoc($req14))
	{
		$page=$data['page'];
		$nombre=$data['nombre'];
		$page=htmlentities($page);
		$nombre=htmlentities($nombre);
	}
	//Si ce n'est pas le cas: on la créée
	if($page!=$url)
	{
		$sql01  = "INSERT INTO affichages(id, page, nombre) VALUES('','$url','1')"; 
		$req01 = mysql_query($sql01) or die('Erreur SQL !<br>'.$sql01.'<br>'.mysql_error());
		//Affichages du nombre d'affichages	
		$nombre=1;
		echo $nombre;
	//Sinon on augmente le nombre d'affichages de 1
	}else{
		$sql02 = "UPDATE affichages SET nombre=nombre+1 WHERE page='$url'"; 
		$req02 = mysql_query($sql02) or die('Erreur SQL !<br>'.$sql02.'<br>'.mysql_error());
		//Affichages du nombre d'affichages	
		echo $nombre;
	}
?>

A voir également

Ajouter un commentaire

Commentaires

Commenter la réponse de SkyCrasher

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.