Un compteur d'affichages avec base de données

Présentation
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;
?>
Téléchargement
Compatibilité
Windows
0  0 
Téléchargé 46 fois Voir le commentaire
Détails
Avatar de Skyth
Membre régulier
Voir tous les téléchargements de l'auteur
Licence : Freeware
Date de mise en ligne : 24 septembre 2018




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.