IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Téléchargé 21 fois
Vote des utilisateurs
0 
0 
Détails
Licence : Freeware
Mise en ligne le 24 septembre 2018
Plate-forme : Windows
Langue : Français
Référencé dans
Navigation

Un compteur d'affichages avec base de données

Bonjour,
Voici un script PHP qui enregistre les vues d'une page dans la base de données.

1er code la construction de la base de données.
2ème l'affichage du nombre de vues

Nos ressources disponibles
Code : Sélectionner tout
1
2
3
4
5
6
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 default '1',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
Code : Sélectionner tout
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
<?PHP
//Connexion à la base de données
$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','2')"; 
		$req01 = mysql_query($sql01) or die('Erreur SQL !<br>'.$sql01.'<br>'.mysql_error());
	//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;
?>
Avatar de
https://www.developpez.com
Le 24/09/2018 à 23:24
Bonjour,

1- Comme tu utilises mysql_ (obsolète !), ton code est par conséquent lui aussi obsolète.

Il faudrait le modifier en utilisant mysqli_, ou de préférence PDO.

2- Ce serait aussi plus pratique en mettant le code dans une fonction, ou une classe.
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.