Jump to content

Problème de Array lors de l'afffichage


Recommended Posts

j'ai essayé d'affiché par une requête SQL un nouveau champs 'unite' de la table product_lang alors j'ai procéder comme suit :

j'ai ajouté cette fonction dans /classes/Tools.php:

static public function UniteProduits() {
       $Result = Db::getInstance()->s('SELECT * FROM `' . _DB_PREFIX_ . 'product_lang`');

       $tabSako = array();
       foreach ($Result as $product_lang)
           $tabSako[$product['id_product_lang']] = $product['unite'];
       return $tabSako;
   }




et pour l’appelle j’ai mis ce code dans la page de mon module intitulé tutorial.php

 $smarty->assign('unite_de_produits', Tools::UniteProduits());




et j’ai mis cela dans le product-list.tpl:

 {$unite_de_produits}



mais il m’affiche Array quelqu’un connais la solution à ce problème.

bon mon besoin est le suivant je veux à partir de cette requête affiché les unité de chaque produit stocké au-par-avant dans la base de données.



exemple :
quantité : 1 KG

et merci d’avance

Link to comment
Share on other sites

les amis pourquoi la communauté n'est très actif vraiment je pose une question très fréquente et je trouve comme même pas de réponse même pas des proposition c'est un peu décevant d'un produit aussi bien conçu d'avoir une communauté pas très actif

Link to comment
Share on other sites

Bonjour, la réponse est simple :

$tabSako = array();

et vous voulez afficher {$unite_de_produits} autrement dit $tabSako, sauf que $tabSako est un array et pas $unite_de_produits

Sans compter que dans :

   foreach ($Result as $product_lang)
       $tabSako[$product['id_product_lang']] = $product['unite'];


$product_lang ne figure pas dans la 2ème ligne donc le foreach ne sert à rien ;)

Un bon conseil : utilisez et développez sous PS1.4.1

Link to comment
Share on other sites

Salut,

Comme le dit coeos, dans ton foreach il y a une erreur. En effet tu utilises la variable $product au lieu de $product_lang.

Ensuite dans ton fichier TPL, il est normal que cela t'affiche "Array" car au final la variable est un tableau.
Il faut donc utiliser un foreach en Smarty maintenant pour boucler sur le tableau.

Link to comment
Share on other sites

bonsoir ,

merci vraiment pour vos réponses, mais il y a toujours un mais , bon j'ai réctifié mon code et j'ai fais comme suit:


static public function UniteProduits() {
       $Result = Db::getInstance()->s('SELECT * FROM `' . _DB_PREFIX_ . 'product_lang`');

       $tabSako = array();
       foreach ($Result as $product_lang)
           $tabSako[$product_lang['id_product_lang']] = $product_lang['unite'];
       return $tabSako;
   }




et pour l’appelle j’ai mis ce code dans la page de mon module intitulé tutorial.php

 $smarty->assign('unite_de_produits', Tools::UniteProduits());




et j’ai mis cela dans le product-list.tpl:

 {$unite_de_produits}



mais il m’affiche encore Array :(

et je connait pas comment faire un foreach dans un TPL

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...