Faire un système de classement des mots clés
Voici en premier lieu notre cahier des charges:
- enregistrez seulement les nouveaux mot clés dans une table
- Compter leur nombre de recherche respective
- afficher le résultats sous forme de TOP10
Pour cela il nous faut donc une table qui peu contenir :
id int(11) auto_increment
keyword varchar(150) Unique
count int(6) par défaut 0
Le taux de probabiliter d'avoir énormément de recherche pour le mème mot clés étant faible, count (le nombre de vue) est un int(6) ce qui laisse une bonne marge.
Voici donc notre table:
[quote]
CREATE TABLE keyword (
id int(11) NOT NULL auto_increment,
keyword varchar(150) NOT NULL default '',
count int(6) default '0',
PRIMARY KEY (id,keyword),
UNIQUE KEY keyword (keyword)
) TYPE=MyISAM;
/quote
Lors ce qu'une recherche est faite, voilà le principe de notre script:
On chercher dans la table (SELECT) le mot clé. Si il est présent on affiche simplement le mot clé et le nombre de recherche, puis on y rajoute plus 1.
Par contre si le mot n'existe pas on l'ajoute
Source / Exemple :
$select = "SELECT * FROM keyword WHERE keyword = '$mot' ";
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
while($row = mysql_fetch_array($result)) {
// on compte désormais une recherche de plus
$scount = $row['count']+1;
echo'Déjà '.$scount.' recherches pour "<b>'.$mot.'</b>" ';
// On récupère l'id du keyword dans une variable
$sql = "UPDATE keyword SET count = count +1 where id=$row1['id'] ";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
} // si aucune recherche déjà faite
else
{
//On ajoute le mot dans la table avec déjà une première recherche
$sql = "INSERT INTO keyword VALUES('','$mot','1')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo'C\'est la première recherche pour "'.$mot.'" ';
}
Conclusion :
Notre compteur de keyword marche donc trés bien.
Pour faire un TOP10 des mots clés il suffit simplement de faire un SELECT order by count asc limit 0,10
Je vous laisse désormais cette partie ;)
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.