kod Posted January 20, 2013 Share Posted January 20, 2013 Bonjour j'essaye de faire une requete dans le controlleur product voici ce que j'ai testé mais cela ne fonctionne pas $bdd = Db::getInstance(); $sql="SELECT * FROM ps_product_lang WHERE id_product=1"; $query = $bdd->query($sql); foreach($nom_produit = $query->fetch()) { echo $nom_produit['id']; } comment s'y prend ton pour fexecuter ma requête correctement ? je vous remercie d'avance pour votre réponse Link to comment Share on other sites More sharing options...
NikosKos Posted January 20, 2013 Share Posted January 20, 2013 Pourquoi ne pas utiliser la classe Product qui est faite pour ca avec le code : $p = new Product(1); C'est plus simple et ca marche aussi bien Link to comment Share on other sites More sharing options...
franckm1000 Posted January 21, 2013 Share Posted January 21, 2013 Un echo dans un controller n'affichera rien du tout. Le controller n'est là que pour le traitement, pas pour l'affichage des données. Il faut assigner le résultat va smarty pour l'afficher dans le tpl associé au controller. Link to comment Share on other sites More sharing options...
coeos.pro Posted January 21, 2013 Share Posted January 21, 2013 Bonjour, un echo fonctionne la plus part du temps, ça dépend du hook, par contre le résultat s'affiche tout en haut de la page même si vous êtes dans le hook footer. A mon avis ce qui cloche c'est le foreach : tu as un tableau il faut 2 foreach, voici une aide indispensable : http://www.prestashop.com/blog/fr/les-bonnes-pratiques-de-la-classe-db-sur-prestashop-1-5/ Pour contrer le problème du foreach on va tester un print_r, essaye ceci : $row = Db::getInstance()->getRow('SELECT * FROM `'._DB_PREFIX_.'product_lang` WHERE `id_product`=1'); echo '<pre>'; print_r($row['id']); echo '</pre>'; Link to comment Share on other sites More sharing options...
franckm1000 Posted January 21, 2013 Share Posted January 21, 2013 Avec un getRow il aura un singleton, pas un tableau non ? Link to comment Share on other sites More sharing options...
coeos.pro Posted January 21, 2013 Share Posted January 21, 2013 Avec un getRow il aura un singleton, pas un tableau non ? BIen vu, oui il vaut mieux remplacer getrow par executeS sinon il n'y aura qu'une seule ligne d'affichée Link to comment Share on other sites More sharing options...
Zulian Posted January 21, 2013 Share Posted January 21, 2013 Salut, Si vous bossez sur le code d'un controller, vous pouvez afficher simplement ce que vous voulez en faisait un die après votre print_r ou votre echo ! ex : /* $sql = ..... */ print_r($sql); die; Link to comment Share on other sites More sharing options...
kod Posted January 21, 2013 Author Share Posted January 21, 2013 merci de vos réponse , je sais que dans un controlleur, il ne faut surtout pas faire un echo, mais c'est juste pour testé si j'arrive à avoir la donnée que je recherche . mon but est de récupérer le nom du produit Link to comment Share on other sites More sharing options...
coeos.pro Posted January 21, 2013 Share Posted January 21, 2013 tu as parfaitement le droit de faire un echo, mais exclusivement pour tester, debugger, optimiser. Encore un peu de lecture : http://www.prestashop.com/blog/fr/implementation-doutils-de-debug-sous-prestashop/ 1 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