K.M.R72 Posted August 2, 2015 Share Posted August 2, 2015 (edited) bonsoir, svp dans le code lorsque j'essaie de faire une addition on me renvoie l'erreur suivante : Fatal error: Unsupported operand types in C:\wamp\www\prestashop\modules\recharge\recharge.php on line 147 et j'arrive pas à retrouver l'équivalent du signe + pour le code prestashop. je vous remercie Edited August 4, 2015 by K.M.R72 (see edit history) Link to comment Share on other sites More sharing options...
PrestaModule · Jona Posted August 2, 2015 Share Posted August 2, 2015 Bonsoir, Est-il éventuellement possible d'avoir le bout de code (au moins la ligne) mise en défaut ? Cordialement. Link to comment Share on other sites More sharing options...
K.M.R72 Posted August 2, 2015 Author Share Posted August 2, 2015 BIEN SÛR , le voilà: private function _postProcess() { if (Tools::isSubmit('btnSubmit')) { Configuration::updateValue('RECHARGE_MONTANT', Tools::getValue('RECHARGE_MONTANT')); Configuration::updateValue('RECHARGE_ADDRESS', Tools::getValue('RECHARGE_ADDRESS')); $num = 1; $personne =Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('select id_customer from ' . _DB_PREFIX_ . 'recharge_solde'); $montant = Tools::getValue('RECHARGE_MONTANT'); if(!$personne) { Db::getInstance()->insert('recharge_solde', array('id_customer' => (int)$num,'solde' => pSQL($montant),)); Db::getInstance()->insert('recharge_statut', array('credit' => pSQL($montant),)); } else { $credit = Db::getInstance()->update('recharge_statut', array('credit' => pSQL($montant),)); //Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('select credit from ' . _DB_PREFIX_ . 'recharge_statut'); $solde =Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('select solde from ' . _DB_PREFIX_ . 'recharge_solde'); $newsolde == $solde + $credit; Db::getInstance()->update('recharge_solde', array('solde' => pSQL($newsolde),)); } $this->_html .= $this->displayConfirmation($this->l('Recharge reussie')); } } Link to comment Share on other sites More sharing options...
PrestaModule · Jona Posted August 2, 2015 Share Posted August 2, 2015 Votre ligne doit devenir: $newsolde = $solde + $credit; Link to comment Share on other sites More sharing options...
K.M.R72 Posted August 2, 2015 Author Share Posted August 2, 2015 j'ai déjà essayé ça mais ça me renvoie la meme erreur. ondirait que prestashop ne reconnait pas l'opérande "+", que faire? Link to comment Share on other sites More sharing options...
PrestaModule · Jona Posted August 2, 2015 Share Posted August 2, 2015 (edited) Voici plus vite le code à mettre, pour bien faire: $credit = Db::getInstance()->update('recharge_statut', array('credit' => pSQL($montant),)); //Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('select credit from ' . _DB_PREFIX_ . 'recharge_statut'); $solde = Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue('select solde from ' . _DB_PREFIX_ . 'recharge_solde'); $newsolde = $solde + $montant; Il y a donc le double == qui est transformé en un simple et le ExecuteS qui se transforme en getValue (sinon, en effet, on ne peut rien faire sur ce qu'on obtiensà ; de même pour la variable $credit remplacée par $montant dans le calcul effectué. Edited August 2, 2015 by PrestaModule · Jona (see edit history) Link to comment Share on other sites More sharing options...
coeos.pro Posted August 2, 2015 Share Posted August 2, 2015 1- merci de modifie le titre 2- le == n'a effectivement rien à faire là 3- executeS est un autre problème comme la souligné Jona, car il renvoi un array 4- $credit = Db::getInstance()->update... donc $credit est un booléen, je ne sais pas si ça va passer dans $solde + $credit; c'est toi qui a fait ce module ? je ne sais pas si tu connais cette page https://www.prestashop.com/blog/fr/les-bonnes-pratiques-de-la-classe-db-sur-prestashop-1-5/ mais ça devrait t'aider Link to comment Share on other sites More sharing options...
K.M.R72 Posted August 2, 2015 Author Share Posted August 2, 2015 C'est moi qui écrit le module. merci ça marche . vous avez raison, $credit est un bouléen donc jai dû créer une variable qui allait récupérer sa valeur un peu comme avec solde. quant au lien que vous avez mis, je l'avais déjà visité. mais j'avais pas tout compris. vous m'avez sauvé la vie . merci encore à tous . Link to comment Share on other sites More sharing options...
K.M.R72 Posted August 2, 2015 Author Share Posted August 2, 2015 désolé mais je sais pas comment modifier le sujet pour dire qu'il a été résolu.vous pouvez me dire comment on fait? je suis nouveau dans le forum un peu plus d'une semaine Link to comment Share on other sites More sharing options...
coeos.pro Posted August 2, 2015 Share Posted August 2, 2015 il faut éditer le premier message et cliquer sur éditeur complet 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