Ir al contenido


Foto

Ejecutar Metodo en tiempo de Ejecucion CodeIgniter


  • Por favor identifícate para responder
No hay respuestas en este tema

#1 dchacon

dchacon

    Newbie

  • Miembros
  • Pip
  • 2 mensajes

Escrito 08 julio 2014 - 09:13

Hola a todos,

Les cuento mi problema por si alguien sabe como ayudar, estoy recién metiéndome en este mundo del framework y estoy un poco perdido, estoy realizando un sitio con Codeigniter y Procedimientos Almacenados en MySQL.

Resulta que tengo 2 tablas en mi base de datos, una de producto y otra de imágenes, en una vista muestro el listado de productos, llamo a un metodo del controlador el cual ocupa un metodo que ejecuta el procedimiento almacenado y me trae los datos, hasta ahí ningún problema, el problema resulta cuando quiero mostrar las imagenes del producto asociado en este listado, ya que como está en otra tabla necesito que a medida que voy recorriendo y dibujando el listado me ejecute un metodo que me traiga las imágenes del producto que estoy mostrando.

ESTA ES MI VISTA:


delphi
  1. <?php
  2. foreach($p_recomendados as $recomendado){
  3. ?>
  4. <div class="item">
  5. <?php
  6. ?>
  7. <div><div id="marca" align="left"><?php echo $recomendado->marca?></div><div class="codigo" align="right">COD: <?php echo $recomendado->codigo?></div></div>
  8. <div style="clear:both; width:90%;" align="center"><hr></div>
  9. <div class="name" align="center"><a href="ficha_producto.php?cod=<?php echo $recomendado->id?>&nom=<?php echo $nombre_web?>"><?php echo $sub_nombre_producto?></a></div>
  10. <div align="center" style="height:128px;">
  11. <!--  AQUI LAS IMAGENES -->
  12. </div>
  13. <span class="precio">$<?php echo number_format($recomendado->precio_efectivo,0,',','.')?>
  14. <span class="letras_destacadas_azul">Efectivo</span></span>
  15. <div class="sub_precio">Precio Normal $<?php echo number_format($recomendado->precio_cheque,0,',','.')?></div>
  16. </div>
  17. <?php } ?>





ESTE ES MI CONTROLADOR


delphi
  1. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  2.  
  3. class Index extends CI_Controller {
  4.  
  5. public function __construct()
  6.     {
  7.         parent::__construct();
  8.         $this->layout->setLayout('sitio');
  9. //JS
  10. $this->layout->js(array(base_url()."public/js/easySlider1.7.js"));
  11. //CSS
  12. $this->layout->css(array(base_url()."public/css/style.css"));
  13.     }
  14.    
  15. public function index()
  16. {
  17. $p_recomendados = $this->producto_model->SelectProductoPorTipo(1);
  18.         $this->layout->view('index', compact('p_recomendados'));
  19. }
  20. public function imagen($id_producto = null)
  21. {
  22. $imagen = 1;
  23. $imagen = $this->producto_model->SelectImagenProducto($id_producto);
  24. }
  25.  
  26. }



Y EL METODO:


delphi
  1. <?php
  2. class producto_model extends CI_Model {
  3.     function __construct()
  4.     {
  5.         parent::__construct();
  6.     }
  7. public function SelectProductoPorTipo($tipo = null)
  8.     {
  9.         if($query = $this->db->query("CALL spSelectProductoPorTipo($tipo);"))
  10.         {
  11.             return $query->result();
  12.  
  13.         }else{
  14.             show_error('Error!');
  15.         }
  16.     }
  17. public function SelectImagenProducto($id_producto)
  18.     {
  19.         if($query = $this->db->query("CALL spSelectImagenProducto($id_producto);"))
  20.         {
  21.             return $query->result();
  22.  
  23.         }else{
  24.             show_error('Error!');
  25.         }
  26.     }
  27. }




Se que podría llamar a las imágenes desde el mismo procedimiento cuando me traigo los datos del producto en una sola consulta, pero este problema lo tengo en otras situaciones con otros datos donde no es posible hacer esto, elegí este ejemplo ya que es mas fácil para entender el problema



Desde ya muchas gracias!
  • 0




IP.Board spam blocked by CleanTalk.