Version complète: sur le forum Webmaster Hub : compteur de visite pour page dynamique
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > SQL
titi63
Bonjour à tous

Je n'ai pas trouvé exactement ce que je cherche sur le forum...

Sur un site d'annonces, je cherche à faire un compteur de visite qui s'incrémente à chaque affichage d'une annonce. Les compteurs seraient placé sur chaque page d'annonce. J'ai une table 'annonce' avec un id. Quelqu'un à une idée?
web-creation.ca
C'est un site d'annonces en open source ?

Si tu veux le code entier, faudrait donner plus de précisions par rapport à ce que tu veux exactement, sur quelle page, sur quel site web etc...

Si tu veux juste une idée pour developper ton compteur, je te conseille d'aller voir sur http://www.phpdebutant.org/article58.php ils t'expliquent comment faire un compteur sans passer par la base de donnée happy.gif. T'apprendras par la même occasion a écrire dans un fichier texte avec PHP ;-)
titi63
Bonjour et merci de m'avoir répondu

Des compteur en php j'en ai trouvé mais le problème c'est que ce sont des page dynamique, il faut donc un compteur par rapport à l'ID. Et j'aimerai qu'il s'affiche sur la page. voili...
http://www.allimmo.fr/agence/search_.php
web-creation.ca
Pour cette page, http://www.allimmo.fr/agence/search_.php?op=mi&id=223 :

utilise le script que je t'ai donné et crée le fichier 223.txt au lieu de data.txt. 223 est l'id de ta fiche. Ensuite tu fais un echo de ce qu'il y a dans le fichier 223.txt.
titi63
oui, mais j'aimerais que ce compteur soit créé automatiquement sur chaque nouvelle annonce unsure.gif
Pixame
Je ne suis absolument pas un codeur mysql /php mais un truc tout simple dans ce genre, ça irait pas ?
CODE
$sql = mysql_query("SELECT * FROM db_annonces WHERE annonce_id='$id' LIMIT 1");
$resultat = ldu_fetch_array($sql);
$resultat['compteur']++;
mysql_query("UPDATE $db_annonces SET compteur='$resultat['compteur']' WHERE annonce_id='$resultat['id']'");
echo $resultat['compteur'];

Ou ta table qui contient les annonces s'appelle "db_annonce" et en faisant en ajoutant un champ "compteur" à cette table.
titi63
en fait j'aimerais que sur chaque page soit inscrit :
CITATION
cette annonce à été vue xx fois.


Merci Pixame pour ta réponse. wink.gif
aurais tu la ligne de commande pour ajouter le champs 'compteur' a ma table avant d'utiliser ce script?
Pixame
CODE
ALTER TABLE `db_annonce` ADD `compteur` MEDIUMINT( 8 ) UNSIGNED DEFAULT '0';
titi63
Ooups! Je viens de m'apercevoir qu'il y a dejà un champs compteur oops.gif

Bon, mais quelle est la commande pour extraire cette info?
Pixame
CODE
$sql = mysql_query("SELECT * FROM db_annonces WHERE annonce_id='$id' LIMIT 1");
$resultat = ldu_fetch_array($sql);
$resultat['propertyviews']++;
mysql_query("UPDATE $db_annonces SET propertyviews='$resultat['propertyviews']' WHERE annonce_id='$resultat['id']'");

echo "Cette annonce a été vue ".$resultat['propertyviews']." fois";
titi63
Avec ce code j'ai :

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING...

j'ai essayé de savoir pouquoi mais pas moyen mad2.gif
titi63
AYé j'ai trouvé...

en fait il suffit de placer ce code :
<?php echo $row ['propertyviews']?>

après avoir déclaré
p.propertyviews AS propertyviews,
dans la variable $row

merci pour votre aide 8-)
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.