Adsoa Posted February 7, 2013 Share Posted February 7, 2013 (edited) Hola a todos. Estoy curioseando un poco por prestashop y me interesa hacer un script en php que haga consultas simples pero que no sea un módulo y lo pueda llamar desde una URL, pongo un ejemplo. Supongamos que el fichero se llama prueba.php y que contiene las siguientes líneas. <?php $query = 'SELECT COUNT(*) FROM ps_product;'; echo 'Consulta = '.$query.'<br><br>'; $productos_ps = Db::getInstance()->ExecuteS($query); echo 'Productos = '.$productos_ps.'<br>'; ?> Este fichero lo guardo en la carpeta de administración y se llamaría al script con una URL similar a esta: "http://www.direccion.com/carpeta_admin/prueba.php". La cuestión es que no se ejecuta la consulta y creo entender que es porque la clase Db no está incluida. Es esto en lo que necesito que alguien me ayude. Gracias por adelanto. Edited February 7, 2013 by Adsoa (see edit history) Link to comment Share on other sites More sharing options...
petete2008 Posted February 7, 2013 Share Posted February 7, 2013 Agrega al inicio de tu script lo siguiente : define('PS_ADMIN_DIR', getcwd()); include(PS_ADMIN_DIR.'/../config/config.inc.php'); Link to comment Share on other sites More sharing options...
Adsoa Posted February 7, 2013 Author Share Posted February 7, 2013 On 2/7/2013 at 8:33 AM, petete2008 said: Agrega al inicio de tu script lo siguiente : define('PS_ADMIN_DIR', getcwd()); include(PS_ADMIN_DIR.'/../config/config.inc.php'); Muchisimas gracias petete2008, queda solucionado. Link to comment Share on other sites More sharing options...
petete2008 Posted February 7, 2013 Share Posted February 7, 2013 Además has usado ExecuteS incorrectamente porque esta función de classes DB se utiliza cuando la consulta devuelve varios registros y no es tu caso. seria : define('PS_ADMIN_DIR', getcwd()); include(PS_ADMIN_DIR.'/../config/config.inc.php'); $query = 'SELECT COUNT(*) AS num FROM ps_product;'; echo 'Consulta = '.$query.'<br><br>'; $result = Db::getInstance()->getRow($query); echo 'Num Productos = '.$result['num'].'<br>'; Ya nos dices que tal tal fué Link to comment Share on other sites More sharing options...
Adsoa Posted February 7, 2013 Author Share Posted February 7, 2013 On 2/7/2013 at 8:36 AM, petete2008 said: Además has usado ExecuteS incorrectamente porque esta función de classes DB se utiliza cuando la consulta devuelve varios registros y no es tu caso. seria : define('PS_ADMIN_DIR', getcwd()); include(PS_ADMIN_DIR.'/../config/config.inc.php'); $query = 'SELECT COUNT(*) AS num FROM ps_product;'; echo 'Consulta = '.$query.'<br><br>'; $result = Db::getInstance()->getRow($query); echo 'Num Productos = '.$result['num'].'<br>'; Ya nos dices que tal tal fué Si, cierto, no me habia dado cuenta, el código de prueba es un copia-pega de otro que tengo que consulto un solo dato. Gracias por la corrección. Link to comment Share on other sites More sharing options...
petete2008 Posted February 7, 2013 Share Posted February 7, 2013 De nada!! Link to comment Share on other sites More sharing options...
sors11 Posted February 7, 2013 Share Posted February 7, 2013 y al final como queda Adsoa? me puedes explicar com ohaces eso de mediante un link sacas datos? estoy un poco pez en ese tema y para qué utilidad lo quieres? Link to comment Share on other sites More sharing options...
Adsoa Posted February 7, 2013 Author Share Posted February 7, 2013 On 2/7/2013 at 12:55 PM, sors11 said: y al final como queda Adsoa? me puedes explicar com ohaces eso de mediante un link sacas datos? estoy un poco pez en ese tema y para qué utilidad lo quieres? Hola sors11. Al final quedaría tal y como dijo petete2008 define('PS_ADMIN_DIR', getcwd()); include(PS_ADMIN_DIR.'/../config/config.inc.php'); $query = 'SELECT COUNT(*) AS num FROM ps_product;'; echo 'Consulta = '.$query.'<br><br>'; $result = Db::getInstance()->getRow($query); echo 'Num Productos = '.$result['num'].'<br>'; Al fichero lo llamo de la siguiente forma: On 2/7/2013 at 8:23 AM, Adsoa said: Este fichero lo guardo en la carpeta de administración y se llamaría al script con una URL similar a esta: "http://www.direccion.com/carpeta_admin/prueba.php". En cuanto a la utilidad, el ejemplo era simplemente para hacer consultas a la BD, la finalidad es bastante mas compleja en un proyecto que tengo pendiente. Saludos. Link to comment Share on other sites More sharing options...
Recommended Posts