mise à jour de l'ensemble des champs

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : mise à jour de l'ensemble des champs

Re: mise à jour de l'ensemble des champs

par Invité » 06 mai 2010, 22:41

effectivement merci !!

je pensais que la boucle suffisait à elle même étant donné que le test effectué en paramètre de la boucle while avec mysql_fetch_assoc place le curseur sur l'entrée suivante...
mais apparemment il faut en effet affecter l'id et le placer dans le where pour préciser !

impeccable merci beaucoup :)

Re: mise à jour de l'ensemble des champs

par visualight » 06 mai 2010, 22:25

mysql_query("UPDATE table1 SET total='$total' ");
Je n'ai jamais essayé de mettre à jour des champs dans un while avec un update sans clause where.
Je me trompe peut être mais pour moi, le where est obligatoire pour définir ce qu'il faut mettre à jour.

Dans le WHERE, il te faut une valeur différente pour chaque enregistrements de ta base comme un ID.

Exemple :
$resultat=mysql_query("SELECT * FROM table1");

while ($donnees_table1=mysql_fetch_assoc($resultat)) {

$total=$_POST['parametre']*$donnees_table1['valeur'];
$id = $donnees_table1['id'];

mysql_query("UPDATE table1 SET total='$total' WHERE id='$id'");

}
A+ ;)

mise à jour de l'ensemble des champs

par jman94 » 06 mai 2010, 21:59

Bonjour,
voilà je vous expose mon problème :

j'ai créer une base de donnée avec une table contenant des champs entiers qui a pour valeurs celles enregistrées par l'utilisateur dans un formulaire, ainsi qu'une autre table, contenant également des champs entiers, correspondant à des constantes, c'est à dire des paramètres.
Ces paramètres, l'utilisateur peut également les modifier par l'intermédiaire d'un formulaire.
Le truc c'est que je souhaiterais pouvoir enregistrer le résultat du calcul suivant : (valeur du paramètre du formulaire venant d'être saisie * valeur du champ de la table 1)
et ce pour tous les champs de la table 1 !

je fais comme ça :


$resultat=mysql_query("SELECT * FROM table1");

while ($donnees_table1=mysql_fetch_assoc($resultat)) {

$total=$_POST['parametre']*$donnees_table1['valeur'];

mysql_query("UPDATE table1 SET total='$total' ");

}

en faisant ça, tous mes champs se retrouvent avec la même valeur total...pourtant la valeur des champs de la colonne 'valeur' de la table1 n'est jamais la même...
ma question est: pouvez-vous m'aider sur la méthode à employer pour mettre à jour tous les champs d'une table en appliquant une formule dont l'une des valeurs provient d'un champ formulaire venant d'être saisis.

merci d'avance ;)