Ikoshop Posted January 14 Share Posted January 14 J'essaie de mettre à jour les prix des articles avec des prix en provenance d'une source externe. Comme les prix de vente sont en HT dans la table ps_product et dans ps_product_shop et en TTC dans ma source (mais, bizarrement, quand on fait $product->getPrice() le prix est en TTC), je fais un calcul avec arrondi de mon prix avant de mettre à jour dans la base prestashop. Si, j'arrondis le prix à 6 chiffres après le décimal, tout fonctionne bien pour 1987/2021 produits. Pour les autres, la mise à jour en base ne fonctionne pas, mais ne donne pas d'erreurs. Si je fais le suivant dans phpMyAdmin update ps_product_shop set price = 15.933333 where id_product = 1 j'ai une réponse '0 lignes affectées' mais pas d'erreur. Si je fais avec un chiffre en moins update ps_product_shop set price = 15.93333 where id_product = 1 j'ai '1 ligne affectée' Si je fais avec un chiffre en plus update ps_product_shop set price = 15.9333333 where id_product = 1 j'ai une erreur de données tronquées. Et si je fais avec 5 chiffres après le décimal et ensuite je fais avec 6 chiffres, alors ça me donne '1 ligne affectée' pour les deux cas. Il m'est impossible de trouver une logique. Pourquoi le UPDATE fonctionnerait avec 6 chiffres après le décimal pour 98% des produits mais pas pour les autres ? Pourquoi pour ces produits ça ne passe pas avec 6 chiffres mais aussi ça ne donne pas d'erreur ? Pourquoi la même requête fonctionne si on fait, juste avant, la requête avec 5 chiffres ? Le produit avec ID 1 ici c'est le 'T-shirt imprimé colibri' de la base démo. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now