Requete sql avec variable php
Résolu
clastype
Messages postés
330
Date d'inscription
Statut
Membre
Dernière intervention
-
clastype Messages postés 330 Date d'inscription Statut Membre Dernière intervention -
clastype Messages postés 330 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je voudrai enregistrer un nombre de clic sur une page. Je fais donc la chose suivante :
$clics=$donnees['clics'];
$clics=$clics+1;
echo $clics;
mysql_query ("Update jeux SET clics='$clics' where id='.donnees['id'].' ");
Je n'ai pas d'erreur lors de l'execution de requète, mais il n'y a rien qui s'ajoute en bdd.
Le champ clics ne s'incrémente pas.
Quelqu'un sait la cause ? Et pourrai m'expliquer comment je peux faire ?
Merci d'avance de vos réponses.
Guillaume
je voudrai enregistrer un nombre de clic sur une page. Je fais donc la chose suivante :
$clics=$donnees['clics'];
$clics=$clics+1;
echo $clics;
mysql_query ("Update jeux SET clics='$clics' where id='.donnees['id'].' ");
Je n'ai pas d'erreur lors de l'execution de requète, mais il n'y a rien qui s'ajoute en bdd.
Le champ clics ne s'incrémente pas.
Quelqu'un sait la cause ? Et pourrai m'expliquer comment je peux faire ?
Merci d'avance de vos réponses.
Guillaume
A voir également:
- Requete sql avec variable php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Logiciel sql - Télécharger - Bases de données
- Vba excel sélectionner une plage de cellules variable ✓ - Forum VB / VBA
- Vba range avec variable ✓ - Forum VB / VBA
5 réponses
Manque le $ à ta variable $donnees.
Sinon, pour incrémenter, tu peux le faire directement dans ta requête.
Sinon, pour incrémenter, tu peux le faire directement dans ta requête.
$sql = 'UPDATE jeux SET clics=clics+1 WHERE id=' . $donnees['id'];
détecter les clics: javascript
enregistrer dans une bdd: php
coupler javascript et php pour faire ça: ajax.
what else?
enregistrer dans une bdd: php
coupler javascript et php pour faire ça: ajax.
what else?
Tout d'abord merci pour vos réponses, mais cela ne semble pas fonctionner , voici le code :
#####
$jeux=$_GET['jeux'];
$cate = mysql_query("SELECT * FROM jeux where id='$jeux'");
while ($donnees = mysql_fetch_array($cate) )
{
// Ici un ensemble de commande
$sql = 'UPDATE jeux SET clics=$clics+1 WHERE id=$id';
// Et la on compte
$clics=$donnees['clics'];
echo $clics;
// Affichage id du jeu
$id=$donnees['id'];
echo $id;
}
#######
Mon id s'affiche bien.
Les clics aussi, mais cela reste tout le temps à 0, le chiffre ne s'incrémente pas...
Une idée ?
Merci d'avance.
Guillaume
#####
$jeux=$_GET['jeux'];
$cate = mysql_query("SELECT * FROM jeux where id='$jeux'");
while ($donnees = mysql_fetch_array($cate) )
{
// Ici un ensemble de commande
$sql = 'UPDATE jeux SET clics=$clics+1 WHERE id=$id';
// Et la on compte
$clics=$donnees['clics'];
echo $clics;
// Affichage id du jeu
$id=$donnees['id'];
echo $id;
}
#######
Mon id s'affiche bien.
Les clics aussi, mais cela reste tout le temps à 0, le chiffre ne s'incrémente pas...
Une idée ?
Merci d'avance.
Guillaume
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
$sql = 'UPDATE jeux SET clics=$clics+1 WHERE id=$id';
le $clics est absurde, tu n'as aucune variable $clis à ce moment là
De plus, la requête étant entourée de simples quotes ' et non pas de doubles ", les variables ne seront pas remplacées par leurs valeurs.
même remarque pour $id
ta requête marcherait sûrement mieux si tu la mettais après avoir extrait les variables $clics et $id, mais tu peux tout faire en une seule ligne :
Enfin, tu n'exécutes jamais cette requête : tout ce que tu fais, c'est la mettre dans une chaîne. Il faut appeler mysql_query pour l'exécuter !
Enfin, la "logique" du programme est tordue : tu extrais les enregistrements dont l'id et données par $jeux, puis tu les balayes un par un pour faire un update avec comme clause WHERE d'avoir le bon id... à quoi sert de les avoir extraits avant ? Autant faire un seul update avec where id = '$jeux' (avant ta boucle) quitte à faire ensuite un select si tu veux vraiment afficher quelque chose. Mais si tu ne veux que la mise à jour, la totalité de ton script se résume à une seule ligne :
mysql_query("UPDATE jeux SET clics=clics+1 WHERE id='$_GET[jeux]'") or die (mysql_error());
$sql = 'UPDATE jeux SET clics=$clics+1 WHERE id=$id';
le $clics est absurde, tu n'as aucune variable $clis à ce moment là
De plus, la requête étant entourée de simples quotes ' et non pas de doubles ", les variables ne seront pas remplacées par leurs valeurs.
même remarque pour $id
ta requête marcherait sûrement mieux si tu la mettais après avoir extrait les variables $clics et $id, mais tu peux tout faire en une seule ligne :
$sql = "UPDATE jeux SET clics=clics+1 WHERE id='$donnees[id]'";
Enfin, tu n'exécutes jamais cette requête : tout ce que tu fais, c'est la mettre dans une chaîne. Il faut appeler mysql_query pour l'exécuter !
Enfin, la "logique" du programme est tordue : tu extrais les enregistrements dont l'id et données par $jeux, puis tu les balayes un par un pour faire un update avec comme clause WHERE d'avoir le bon id... à quoi sert de les avoir extraits avant ? Autant faire un seul update avec where id = '$jeux' (avant ta boucle) quitte à faire ensuite un select si tu veux vraiment afficher quelque chose. Mais si tu ne veux que la mise à jour, la totalité de ton script se résume à une seule ligne :
mysql_query("UPDATE jeux SET clics=clics+1 WHERE id='$_GET[jeux]'") or die (mysql_error());