miguedep Posted March 5, 2015 Share Posted March 5, 2015 (edited) Prestashop 1.6.0.13 Theme: Panda 1.1.1 (Themeforest) Hola, Estoy intentando hacer un web con precios que se actualicen en tiempo real. El proceso es el siguiente: Cuando carga la página, se ejecuta este código jquery $('#divId').load('../../price.php'); setInterval(function(){ $('#divId').load('../../price.php'); }, 3600); Como ves este código llama a price.php <?php $data = file_get_contents("https://gold-feed.com/paid/38940e/all_metals_json_eur.php"); $obj = json_decode($data, true); $a = $obj['gold_ask_eur_toz']; echo $a." ".time(); /* $name = 10; Db::getInstance()->insert('ps_54z_product_shop', array( 'price' => pSQL($name), )); */ ?> La primera parte lo que hace es llamar a un archivo JSON que contiene la cotización al segundo. Nota: No he conseguido llamar al archivo con jquery ya que me da error cross-origin resource (por temas de seguridad parece ser que con javascript no deja cargar archivos de otro domino) Se que lo ejecuta bien porque no hay errores en la consola y puedo ver el resultado en mi prestashop Adjunto imagen En la segunda parte es la problemática para mi. No sé como actualizar el precio en la BBDD. Por ahora estoy intentando poner un precio cualquiera ej 10 a todos los productos. Este query me funciona de lujo en MySQL UPDATE `ps_54z_product_shop` SET `price`= 10 . Como puedo mediante Db::getInstance() conseguir mandar el query MySQL UPDATE `ps_54z_product_shop` SET `price`= 10 ? Muchas gracias por leerme!!! Edited March 6, 2015 by miguedep (see edit history) Link to comment Share on other sites More sharing options...
ventura Posted March 5, 2015 Share Posted March 5, 2015 Lo mejor que puedes hacer es revisar la informacion al respecto http://doc.prestashop.com/display/PS15/DB+class+best+practices#DBclassbestpractices-update() Un saludo Link to comment Share on other sites More sharing options...
miguedep Posted March 5, 2015 Author Share Posted March 5, 2015 Hola Ventura, Muchaa gracias por contestar tan pronto. Llevo todo el día leyendo y probando cosas. Lo primero que me leí fue la documentación de prestashop. Después de probar todo lo que he leído se me han acabado las ideas, por eso pregunto aquí. A ver si alguien tiene otro punto de vista que yo estoy atascado. La verdad es que me he enrollado mucho, Voy a ser más concreto. Alguien me puede decir como poner el equivalente a esta consulta SQL ----- UPDATE `ps_54z_product_shop` SET `price`= 10 en un archivo php que use la clase Db::getInstance() Muchas gracias anticipadas Link to comment Share on other sites More sharing options...
ventura Posted March 5, 2015 Share Posted March 5, 2015 (edited) Asi por ejemplo, con comillas simples y un punto delante si utilizas variables $sql = 'UPDATE ps_54z_product_shop SET `price` = 10' WHERE `price` = 20'; Edited March 5, 2015 by ventura (see edit history) 1 Link to comment Share on other sites More sharing options...
miguedep Posted March 6, 2015 Author Share Posted March 6, 2015 Lo he probado, pero por ahora no puedo hacerlo funcionar. No se actualiza la BBDD. Sigo buscando la solución.... es que cuando uno se queda atascado Muchas gracias ventura Link to comment Share on other sites More sharing options...
petete2008 Posted March 6, 2015 Share Posted March 6, 2015 ¿Que mensaje de error te devuelve la consulta? Igual te falta agregar el init.php Link to comment Share on other sites More sharing options...
miguedep Posted March 6, 2015 Author Share Posted March 6, 2015 Hola, Lo de init si lo probé pero sigue sin funcionar. Cuando desde jquery cargo price.php, si está el código para actualizar la BBDD da error 500 en la consola. GET http:xxxxxxxxxxx/price.php 500 (Internal Server Error)v_15_77ffdc723b6c3272ce65b72aa5e0425c.js:4 n.ajaxTransport.sendv_15_77ffdc723b6c3272ce65b72aa5e0425c.js:4 n.extend.ajaxv_15_77ffdc723b6c3272ce65b72aa5e0425c.js:4 n.fn.loadcustomer1.js:3 (anonymous function) Si no está el código para actuazilar la BBDD, entonces price.php funciona bien. De todas maneras ya intenté poner el código para actializar la BBDD en la home (no lo carga desde otro archivo) y tampoco funciona. Parece algo parecido a esto http://stackoverflow.com/questions/19180684/failed-to-load-resource-the-server-responded-with-a-status-of-500-internal-ser Gracias por tu interés, Link to comment Share on other sites More sharing options...
miguedep Posted March 6, 2015 Author Share Posted March 6, 2015 Ya he encontrado la solución. require dirname(__FILE__).'/config/config.inc.php'; Gracias a todos!!! Link to comment Share on other sites More sharing options...
Recommended Posts