Page 1 sur 1

Faire un update en PDO

Posté : 18 avr. 2018, 13:00
par anouchka2586
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.

Re: Faire un update en PDO

Posté : 19 avr. 2018, 00:35
par anouchka2586
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 !