Update sur deux table

Résolu
thibautB Messages postés 148 Statut Membre -  
thibautB Messages postés 148 Statut Membre -
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é?

2 réponses

  1. Regis59 Messages postés 21143 Date d'inscription   Statut Contributeur sécurité Dernière intervention   1 349
     
    Salut,

    Est ce que cela t'orientes:

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

    A+
    0
    1. thibautB Messages postés 148 Statut Membre 1
       
      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
    2. Regis59 Messages postés 21143 Date d'inscription   Statut Contributeur sécurité Dernière intervention   1 349
       
      Peux tu remplacer les données que tu update dans ta requête ?
      0
    3. thibautB Messages postés 148 Statut Membre 1
       
      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
    4. Regis59 Messages postés 21143 Date d'inscription   Statut Contributeur sécurité Dernière intervention   1 349
       
      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
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    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
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
       
      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
    2. thibautB Messages postés 148 Statut Membre 1
       
      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
    3. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
       
      Donc reste à voir ton code php
      0
    4. Regis59 Messages postés 21143 Date d'inscription   Statut Contributeur sécurité Dernière intervention   1 349
       
      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
    5. thibautB Messages postés 148 Statut Membre 1
       
      il manqué une virgule, donc ça marche.
      merci beaucoup :)
      0