Fonction update et variables

Signaler
Messages postés
2
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
6 février 2008
-
Messages postés
1
Date d'inscription
mardi 4 décembre 2007
Statut
Membre
Dernière intervention
14 juin 2008
-
Je desire modifier ma table à l'aide d'un script php et le champs à modifier est désigné par le résultat d'une variable envoyée par la méthode POST . 

$nom_jeu = $_POST ['jeu'] ;
$insertScore="UPDATE table SET  $nom_jeu = '$score' WHERE pseudo = '$pseudo' ";

mysql_query($insertScore) or die(mysql_error());

Il y a a priori un probleme de syntaxe dans SET $nomjeu
Lorsque je tape SET tetris='$score' .....la modification se fait bien.

Merci de votre aide

Dahouf

8 réponses

Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
$nom_jeu = $_POST ['jeu'] ;

$insertScore="UPDATE table SET  $nom_jeu = '$score' WHERE pseudo = '$pseudo' ";
echo $insertScore;

mysql_query($insertScore) or die(mysql_error());

--------------------------------------------------------------------------------------------------
         Il vaut mieux poser une question et passer pour bête que le rester toute sa vie
Messages postés
2
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
6 février 2008

J'y ai pensé mais le problème c'est qu'en fait la variable $nom_jeu vient d'un fichier flash. Et que le script php correspond à un page qui ne s'affiche pas. Donc je ne vois pas ce qu'il y a dans $insertScore.
J'ai fait un essai
$insertScore="UPDATE table SET  ".$nom_jeu." = '$score' WHERE pseudo = '$pseudo' ";
et cela marchait lorsque je declarais ma variable avec $nom_jeu = 'tetris' mais pas avec
$nom_jeu = utf8_decode($_POST['nomJeu']) ;
Enfin bref, je voulais juste savoir s'il y avait une syntaxe particuliere pour mettre la variable après le SET
Je reesaierai plus tard.
Merci pour ta reponse.
Dahouf
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
24
Hello,

non.
Potentiellement, y a quoi dans $_POST['nomJeu'] ?
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
 salut

tu es bien sur que $nom_jeu est bien le nom du champ de ta table

ça ressemble plus à une variable php...
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
24
@sidf
dans $insertScore="UPDATE table SET  $nom_jeu = '$score' WHERE pseudo = '$pseudo' ";
$score est remplacé par sa valeur vu que la chaîne est entre guillemets.
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
salut malalam

j'avais bien compris pour $score
mais un nom de champ de table en variable --> $nom_jeu    ? 
 j'ai un doute...
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
oui reflexion faite , ça devrait marcher ça, si les post sont bien alimentés

$insertScore="UPDATE table SET  $nom_jeu = '$score'  WHERE pseudo = '$pseudo' ";
Messages postés
1
Date d'inscription
mardi 4 décembre 2007
Statut
Membre
Dernière intervention
14 juin 2008

Salut, j'ai une table "tags" dans ma base de données avec 3 colonnes: "id, tag, count", je voudrais additionner (regrouper) les "tag" identiques (chacun des tag ayant un count = 1) dans la même table "tags"avec la somme des "count" :

ma table "tags"
id tag count
1 pomade 1
2 bas 1
3 pomade 1
4 pomade 1
5 bas 1
6 sol 1
7 sol 1
8 bas 1

resultat voulu:
id tag count
1 pomade 3
2 bas 3
3 sol 2

j'ai fais une requete pour additionner les counts de chaque tag :

SELECT SUM(count) AS total  
FROM tags  
GROUP BY tag

et je voudrais remplacer les enciennes valeurs count par les nouvelles (sommes de chaque tag).
merci