Update sur deux table

Résolu/Fermé
thibautB Messages postés 140 Date d'inscription jeudi 7 mai 2015 Statut Membre Dernière intervention 26 octobre 2016 - 28 janv. 2016 à 21:39
thibautB Messages postés 140 Date d'inscription jeudi 7 mai 2015 Statut Membre Dernière intervention 26 octobre 2016 - 5 févr. 2016 à 22:23
Bonjour,

Je voudrai pouvoir mettre à jour les valeurs de mes tables mais toute mes valeur ne sont pas situé dans la même table, serait-il possible de faire la requête sous cette forme?
update fraisforfait, lignefraiforfait set ff_mois = '".$_POST['mois']."', frf_libelle = '".$_POST['libelle']."', frf_montant = '".$_POST['montant']."', lff_quantite = '".$_POST['quantite']."', total = '".$_POST['prix_total']."' where fhf_id = '".$_POST['id']."' "


ou faut-il faire une requête imbriqué?


A voir également:

2 réponses

Regis59 Messages postés 21143 Date d'inscription mardi 27 juin 2006 Statut Contributeur sécurité Dernière intervention 22 juin 2016 1 320
29 janv. 2016 à 09:33
Salut,

Est ce que cela t'orientes:

https://www.grafikart.fr/forum/topics/2006

A+
0
thibautB Messages postés 140 Date d'inscription jeudi 7 mai 2015 Statut Membre Dernière intervention 26 octobre 2016 1
Modifié par thibautB le 1/02/2016 à 15:58
oui mais la requete update ne marche pas alors que quand je la teste sur phpmyadmin ca marche voila ma requete :
"update lignefraisforfait, fraisforfait set ff_mois = '".$_POST['mois']."', frf_libelle = '".$_POST['libelle']."', frf_montant = '".$_POST['montant']."', lff_quantite = '".$_POST['quantite']."', total = '".$_POST['prix_total']."' where lignefraisforfait.frf_id = fraisforfait.frf_id and fraisforfait.frf_id = '".$_POST['id']."' ";
0
Regis59 Messages postés 21143 Date d'inscription mardi 27 juin 2006 Statut Contributeur sécurité Dernière intervention 22 juin 2016 1 320
2 févr. 2016 à 10:37
Peux tu remplacer les données que tu update dans ta requête ?
0
thibautB Messages postés 140 Date d'inscription jeudi 7 mai 2015 Statut Membre Dernière intervention 26 octobre 2016 1
Modifié par thibautB le 2/02/2016 à 18:26
non c'est ça mon problème
voila la structure de mes deux tables :
la 1ère c'est lignefraisforfait : ou il y'a frf_id (clé étrangère), ff_mois(clé étrangère), vis_matricule (clé étrangère) et lff_quantite.
la deuxième table c'est fraisforfait ou il y'a frf_id (clé primaire), frf_libelle et frf_montant.
et quand je veut update les valeur ca ne marche pas
0
Regis59 Messages postés 21143 Date d'inscription mardi 27 juin 2006 Statut Contributeur sécurité Dernière intervention 22 juin 2016 1 320
3 févr. 2016 à 11:32
Ce que je voulais voir c'était: "Est ce que tu peux mettre les valeurs que tu veux tester en dur dans ta requête ici pour voir si cela vient de la"...ou pas...
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
3 févr. 2016 à 11:52
Bonjour,

1 - ... on Récupère "proprement" les variables AVANT de les utiliser.
Pour se faire... on peut utiliser l'écriture TERNAIRE et ISSET ( ou !EMPTY)
Comme ceci :
//Récupération "Propre" des variables AVANT de les utiliser

$mois = isset($_POST['mois'])? $_POST['mois'] : '';
$libelle = isset($_POST['libelle'])? $_POST['libelle'] : '';
$montant = isset($_POST['montant'])? $_POST['montant'] : '';
//etc...


//On utilise ensuite ces variables dans la requête
$sql = "update fraisforfait, lignefraiforfait set ff_mois = '$mois', frf_libelle = '$libelle' ...etc.... ";


2 - Fais un ECHO de ta requête .... pour voir ce qu'elle contient..... puis (en récupérant donc le résultat du echo.... ) TESTES la directement dans ta BDD

0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
3 févr. 2016 à 11:54
De plus... je ne suis pas certain que tu puisses UPDATE deux tables en même temps.....(je n'ai jamais essayé tu me diras... ) Mais je crois qu'il va falloir que tu fasses l'UPDATE sur une première table ... PUIS sur la seconde....
0
thibautB Messages postés 140 Date d'inscription jeudi 7 mai 2015 Statut Membre Dernière intervention 26 octobre 2016 1
Modifié par thibautB le 3/02/2016 à 21:13
dans la BDD ca marche mais quand je le fait sur mes pages ca ne marche pas mais avec l'echo ca affiche bien les valeurs à la première ligne donc dans le echo ca donne :

update lignefraisforfait, fraisforfait set ff_mois = 'fevrier' frf_libelle = 'repas', frf_montant = '27', lff_quantite = '56', total = '1456' where lignefraisforfait.frf_id = fraisforfait.frf_id and fraisforfait.frf_id = '45' 


et avant que j'execute le update le frf_montant était à 26
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
3 févr. 2016 à 21:29
Donc reste à voir ton code php
0
Regis59 Messages postés 21143 Date d'inscription mardi 27 juin 2006 Statut Contributeur sécurité Dernière intervention 22 juin 2016 1 320
4 févr. 2016 à 10:06
Oui d'accord avec jordane.
Essaie de faire un update sur une seule table déjà, puis la seconde, avant de regrouper les deux.
0
thibautB Messages postés 140 Date d'inscription jeudi 7 mai 2015 Statut Membre Dernière intervention 26 octobre 2016 1
5 févr. 2016 à 22:23
il manqué une virgule, donc ça marche.
merci beaucoup :)
0