[RESOLU] Faire un update en PDO

Eléphanteau du PHP | 27 Messages

18 avr. 2018, 13:00

Bonjour,

Aidez-moi svp à faire un update en PHP et MySQL.
J'ai 2 tables sur lesquelles je fais des mises à jour. Le premier update sur la table 1 (infosfacture) fonctionne bien, mais j'ai un problème avec le update de la table 2 (facturation).


Voici la requete 1 $req1 avec son exécution :

Code : Tout sélectionner

$req1 = $base->prepare('UPDATE infosfacture SET num = :num, numtva = :numtva, client = :client, datefacture = :datefacture, facturede = :facturede, conditions = :conditions, id_membre= :id_membre WHERE id= :id'); $req1->bindParam(':id', $_GET['id'], PDO::PARAM_INT); $req1->bindParam(':num', $_POST['num'], PDO::PARAM_STR); $req1->bindParam(':numtva', $_POST['numtva'], PDO::PARAM_STR); $req1->bindParam(':client', $_POST['client'], PDO::PARAM_STR); $req1->bindParam(':datefacture', $_POST['datefacture'], PDO::PARAM_STR); $req1->bindParam(':facturede', $_POST['facturede'], PDO::PARAM_STR); $req1->bindParam(':conditions', $_POST['conditions'], PDO::PARAM_STR); $req1->bindParam(':id_membre', $_SESSION['id_membre'], PDO::PARAM_INT); $req1->execute();
Voici la partie du formulaire de la requête 2 que je veux mettre à jour :
Image
Voici la requête 2 $req2 et son exécution :

Code : Tout sélectionner

$req2 = $base->prepare('UPDATE facturation SET designation = :designation, quantite = :quantite, prixht = :prixht, taxe = :taxe WHERE fk_facturation_id= :fk_facturation_id'); $params = array(); foreach ($_POST['designation'] as $key => $designation) { $params[':designation'] = $designation; $params[':quantite'] = $_POST['quantite'][$key]; $params[':prixht'] = $_POST['prixht'][$key]; $params[':taxe'] = $_POST['taxe'][$key]; $params[':fk_facturation_id'] = $_GET['id']; $req2->execute($params); }
Problème :
Il n'y a pas de mise à jour quand il y a une mise à jour sur plusieurs lignes cad designation/quantite/prixht/taxe. De plus quand je rajoute des lignes cad designation/quantite/prixht/taxe, ces lignes ajoutées ne sont pas prise en compte dans la mise à jour.

Eléphanteau du PHP | 27 Messages

19 avr. 2018, 00:35

J'ai changé, je ne vais plus modifier la facture, je vais la cloner ensuite modifier son duplicata et faire une insertion. C'est plus simple, je l'ai déjà fait et ça marche !