Jump to content

[URGENT] problème d’opérandes +


Recommended Posts

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 by K.M.R72 (see edit history)
Link to comment
Share on other sites

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

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 by PrestaModule · Jona (see edit history)
Link to comment
Share on other sites

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

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...