Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/01/2008, 00h42   #1
Invité régulier
 
Inscription : juillet 2006
Messages : 45
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 45
Points : 8
Points : 8
Par défaut [SQL] Updater une valeur de +1 pour le nombre de fois qu'une page est vue ?

Bonjour,

afin de calculer le "nombre de fois qu'une page a été vue" je souhaite mettre une requête MySQL sur chacune des pages de mes articles (texte intégré depuis une table de ma base de donnée) du type :

UPDATE table_articles SET nb_view =''+1" WHERE id="xxxxxx";

Le problème, c'est comment lire la valeur "nb_view" comme un nombre et ajouter "+1" à la valeur initial dans une base de donnée ? J'aurais comme valeur par default "0" et à chaque visite la page se rechargerait et "ajouterais +1" à cette valeur ? Mais comment faire ? Si je mais comme valeur "++" ca ne va pas marcher ??? Je dois passer par une variable ??? Comment faire ? J'ai réussi à visualiser l'idée mais maintenant je suis bloqué avec cet update de +1 à faire ? Quelqu'un pour m'aider ?


Merci de votre aide. Cordialement,
k2006 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2008, 09h19   #2
Membre régulier
 
Homme Julien SIMON
Ingénieur systèmes et réseaux
Inscription : février 2006
Messages : 100
Détails du profil
Informations personnelles :
Nom : Homme Julien SIMON
Âge : 26
Localisation : France

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Transports

Informations forums :
Inscription : février 2006
Messages : 100
Points : 99
Points : 99
Bonjour,

Pour effectuer une incrémentation d'un champ en SQL, il faut procéder ainsi :

Code :
UPDATE table_articles SET nb_view = nb_view + 1 WHERE id=12;
MightyDucks est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2008, 09h24   #3
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
Code :
UPDATE table_articles SET nb_view =nb_view +1 WHERE id="xxxxxx";
a condition que nb_view soit de type int ou équivalent !

Edit : Grilled (F5 powaaa ...)
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2008, 09h29   #4
Membre régulier
 
Homme Julien SIMON
Ingénieur systèmes et réseaux
Inscription : février 2006
Messages : 100
Détails du profil
Informations personnelles :
Nom : Homme Julien SIMON
Âge : 26
Localisation : France

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Transports

Informations forums :
Inscription : février 2006
Messages : 100
Points : 99
Points : 99
Eheh

Au moins ça confirme ce que j'ai écris et prouve que je suis assez bien réveillé :p
MightyDucks est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2008, 12h52   #5
Invité régulier
 
Inscription : juillet 2006
Messages : 45
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 45
Points : 8
Points : 8
Ah d'accord, merci beaucoup!
k2006 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2008, 15h30   #6
Invité régulier
 
Inscription : juillet 2006
Messages : 45
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 45
Points : 8
Points : 8
Je suis en train de tester, et j'obtiens une erreur de synthaxe sur cette ligne (en gras) :

<?php
//connexion à la DB
$id = "24" ;

UPDATE articles SET articles_vus = articles_vus + 1 WHERE articles_id = $id ;
?>

Ai-je oublié un "" ou '' ou `` ou que sais-je ? pourtant il me semble avoir suivi les conseils ci-dessus non ?
k2006 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2008, 17h51   #7
Expert Confirmé
 
Avatar de Alain Defrance
 
Homme Alain DEFRANCE
Project Lead
Inscription : août 2007
Messages : 1 993
Détails du profil
Informations personnelles :
Nom : Homme Alain DEFRANCE
Âge : 24
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Project Lead

Informations forums :
Inscription : août 2007
Messages : 1 993
Points : 2 919
Points : 2 919
Envoyer un message via MSN à Alain Defrance Envoyer un message via Skype™ à Alain Defrance
Code :
1
2
3
4
5
6
7
 
<?php
//connexion à la DB
$id = 24 ; // si id en base est un integer (chose normal)
 
 mysql_query("UPDATE articles SET articles_vus = articles_vus + 1 WHERE articles_id = $id");
?>
Alain Defrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2008, 20h49   #8
Invité régulier
 
Inscription : juillet 2006
Messages : 45
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 45
Points : 8
Points : 8
J'ai du intégrer une variable pour faire le "+ 1" sinon ça ne marchais pas, je ne comprends pas pourquoi le +1 faisait tout bugé, mais maintenant ca marche avec $num etc...

a+
k2006 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2008, 23h00   #9
Membre régulier
 
Homme Julien SIMON
Ingénieur systèmes et réseaux
Inscription : février 2006
Messages : 100
Détails du profil
Informations personnelles :
Nom : Homme Julien SIMON
Âge : 26
Localisation : France

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Transports

Informations forums :
Inscription : février 2006
Messages : 100
Points : 99
Points : 99
Pour vous aider plus de code serait nécessaire...

En tout cas c'est bizarre ce problème.
MightyDucks est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h57.


 
 
 
 
Partenaires

Hébergement Web