skyth | Bonjour,
Voici un script PHP qui affiche le nombre de vues sur une page à l'aide de la base de données en SQL.
Tout d'abord la construction de la table:
Code :
- 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;
|
Et maintenant le script PHP pour enregistrer les affichages sur la base de données:
Code :
- <?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;
- ?>
|
|