madowen Posted May 24, 2013 Share Posted May 24, 2013 (edited) Buenas, estoy intentando mostrar los datos de una consulta SQL en mi modulo. Hay alguna forma de pasar por smarty el resultado que me retorna el SQL, directamente como una matriz, y poder acceder a ello desde el template del modulo? estoy intentando hacer lo siguiente: mymodule.php $sql = 'SELECT * FROM '._DB_PREFIX_.'mymodule_table'; $this->context->smarty->assign('query_results', Db::getInstance()->ExecuteS($sql)); mymodule.tpl {foreach from=$query_results item=$row} {$row['id_mymodule']} :: {$row['string']}<br/> {/foreach} pero me tira el error: Notice: Undefined index: row inI:\wamp\www\prestashop\cache\smarty\compile\48\78\f3\4878f3895cdb7bb7334cc0e76594f4b5455262d7.file.mymodule.tpl.phpon line 34 Notice: Trying to get property of non-object inI:\wamp\www\prestashop\cache\smarty\compile\48\78\f3\4878f3895cdb7bb7334cc0e76594f4b5455262d7.file.mymodule.tpl.phpon line 34 ... Si estoy haciendolo mal, hay alguna forma de hacerlo mas facil? Un saludo, gracias Edited May 24, 2013 by madowen (see edit history) Link to comment Share on other sites More sharing options...
jesa Posted May 24, 2013 Share Posted May 24, 2013 Mira a ver primero si la select te está devolviendo algo, deberías de comprobarlo antes de hacer el forech para que no tengas errores en caso de ser null. Yo lo pondría así: $sql = 'SELECT * FROM '._DB_PREFIX_.'mymodule_table'; $result = Db::getInstance()->ExecuteS($sql)); $this->context->smarty->assign('query_results', $result) Link to comment Share on other sites More sharing options...
vekia Posted May 24, 2013 Share Posted May 24, 2013 usa el: {foreach from=$query_results item=row} "row" en lugar de "$row" Link to comment Share on other sites More sharing options...
madowen Posted May 24, 2013 Author Share Posted May 24, 2013 Si si, me devuelve lo que me tiene que devolver, el problema es pasarlo al template utilizando el smarty, es decir, pasar el bloque de la consulta entero. Link to comment Share on other sites More sharing options...
madowen Posted May 24, 2013 Author Share Posted May 24, 2013 (edited) usa el: {foreach from=$query_results item=row} "row" en lugar de "$row" perfecto!!! gracias Edited May 24, 2013 by madowen (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts