Update

Signaler
Messages postés
6
Date d'inscription
mercredi 7 août 2013
Statut
Membre
Dernière intervention
11 septembre 2018
-
Messages postés
33169
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 août 2021
-
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

Messages postés
166
Date d'inscription
mercredi 27 juin 2007
Statut
Membre
Dernière intervention
31 mars 2014
1
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
Messages postés
33169
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 août 2021
351
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).