8768 sujets

Développement web côté serveur, CMS

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 :
$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 (voir pièce jointe):


Voici la requête 2 $req2 et son exécution :
$req2 = $base->prepare('UPDATE facturation
                                SET  designation = :designation,
                                quantite = :quantite,
                                prixht = [langue]rixht,
                                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.
Modifié par CVFlashJob (18 Apr 2018 - 12:56)
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 !
Bonjour.

Ce n'est pas un sujet résolu. C'est de la bidouille. Cela vous sort du pétrin mais, honnêtement, est-ce que cela vous satisfait ?

En ce qui me concerne, cette ligne me laisse perplexe :
prixht = [langue]rixht,


Smiley sweatdrop
Zelena a écrit :
Bonjour.

Ce n'est pas un sujet résolu. C'est de la bidouille. Cela vous sort du pétrin mais, honnêtement, est-ce que cela vous satisfait ?

En ce qui me concerne, cette ligne me laisse perplexe :
prixht = [langue]rixht,


Smiley sweatdrop


Oui oui
prixht = [langue]rixht,
est une erreur du site qui a généré cela. c'est en fait prixht = : prixht,

Pour les update je n'ai pas de solution pour l'instant, je cherche ! Si vous pouvez m'aidez ce sera bien !
Merci
Modifié par CVFlashJob (19 Apr 2018 - 11:04)