Update

vandouzen Messages postés 6 Date d'inscription mercredi 7 août 2013 Statut Membre Dernière intervention 11 septembre 2018 - 31 mars 2014 à 10:47
jordane45 Messages postés 38219 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 8 juillet 2024 - 1 avril 2014 à 18:01
Bonjour, un peu de problème pour la requête update. Quelqu'un pourra m'aider urgentement. Merci

Voici le problème:

j'ai une table nommé solde et une table nommé solde_initial. A chaque nouvelle année, j'aimerai importer chaque solde dans la table solde_initial avec chacun a son propre solde. J'ai déjà fait ce problème mais le comble c'est qu'une seule valeur soit insérée pour chaque utilisateur

Exemple:
Dans la table solde:
1- solde=12
2- solde=5
3- solde=45
Si je clique sur un bouton quand le nouvel an arrive, j'obtiens comme valeur du solde initial dans la table solde_initial les valeurs de la table solde. Après clique, on a les valeurs suivantes dans la table solde_initial:
1- solde_initial=12
2- solde_initial=5
3- solde_initial=45

Dans le code que j'ai réalisé, les résultats est donc faux.
Voici les résultats que ma code a fait dans la table solde_initial:
1- solde_initial=45
2- solde_initial=45
3- solde_initial=45

Voici mode
$reA = "SELECT * FROM solde";
$exA = mysql_query($reA) or die(mysql_error());
while($afA = mysql_fetch_object($exA))
{
        $req1="UPDATE solde_initial 
	SET solde_initial = '".$afA->solde_general."' ";
	$exec1=mysql_query($req1) or die(mysql_error());	
}


Merci de m'avoir répondre à cet problème

2 réponses

sagat06 Messages postés 166 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 31 mars 2014 1
Modifié par jordane45 le 1/04/2014 à 17:53
salut,

essai ceci:

$reA = "SELECT solde_general FROM solde";
$exA = mysql_query($reA) or die(mysql_error());
while($afA = mysql_fetch_row($exA))
{
        $req1="UPDATE solde_initial 
 SET solde_initial = '".$afA[0]."' ";
 $exec1=mysql_query($req1) or die(mysql_error()); 
}


Signé Sagat
jordane45 Messages postés 38219 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 8 juillet 2024 344
1 avril 2014 à 18:01
Bonjour,

Pour mettre à jour un ensemble de champs d'une table depuis une autre il faut utiliser un UPDATE SELECT ( ou avec jointure)

ce qui donnerait un truc du genre :
$sql="UPDATE solde S2
INNER JOIN solde_initial S1 ON (S1.id_user = S2.id_user)
SET S2.solde_initial  = S1.solde_general";
$result=mysql_query($sql) or die(mysql_error()); 



j'ai mis "id_user" comme nom de champ .. à remplacer par le nom de ton champ (pour chaque table).

Rejoignez-nous