Ver Mensaje Individual
  #5 (permalink)  
Antiguo 27/02/2012, 13:43
Avatar de neodani
neodani
 
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Se puede llegar a crear un Stored Procedure?

Hola Repara2, gracias por ayuda.

La parte del código es así

Código PHP:
Ver original
  1. <?php
  2. // Funciones de insertar
  3. function inserta_Producto_En_BD($titulo,$descripcion,$precio,$baseDatos){
  4.    
  5.     $query = "INSERT INTO productos (titulo, descripcion,precio)
  6.                 VALUES (:titulo,:descripcion,:precio)";
  7.     $comando = $baseDatos->prepare($query);
  8.     $comando->execute(array(':titulo'=>$titulo,
  9.                             ':descripcion'=>$descripcion,
  10.                             ':precio'=>$precio,
  11.                             ));                            
  12. }
  13.  
  14. function inserta_Imagenes_En_BD($id_producto,$imagenes,$ruta,$baseDatos){
  15.    
  16.         $query = "INSERT INTO imagenes (id_producto,imagen, ruta)
  17.                     VALUES (:id_producto,:imagen,:ruta)";
  18.         $comando = $baseDatos->prepare($query);
  19.         $comando->execute(array(':id_producto'=>$id_producto,
  20.                                 ':imagen'=>$imagenes,
  21.                                 ':ruta'=>$ruta,
  22.                                 ));    
  23.  
  24. }
  25. // Parte donde sé si tiene más de una imagen
  26. if (count($imagenes->imagen) == 1){ // Solo tiene una imagen
  27.     $imagen = $imagenes->imagen;
  28.                                
  29. }else{ // Contiene varias imagenes
  30.         foreach ($imagenes->imagen as $imagen){
  31.                                
  32.                                
  33.         }  
  34. }
  35.  
  36. //Llamadas a las funciones de insertar
  37. inserta_Producto_En_BD($titulo,$descripcion,$precio,$baseDatos);
  38. inserta_Imagenes_En_BD($imagenes,$ruta,$baseDatos);
  39. ?>


La llamada al SP entiendo que debería ser pasandoles los parametros de ambos inserts.

Código PHP:
Ver original
  1. //Llamar al SP
  2. $query = "CALL sp_altaProducto (:titulo,:descripcion,:precio,:imagenes,:ruta)";
  3. $comando = $baseDatos->prepare($query);
  4. $comando->execute(array(':titulo'=>$titulo,
  5.                     ':descripcion'=>$descripcion,
  6.                     ':precio'=>$precio,
  7.                     ':imagenes'=>$imagenes,
  8.                     ':ruta'=>$ruta));

Y la creación de este SP es lo que no acabo de ver como hacer el bucle. Al SP comentas de pasarle el array de imagenes y que él dentro sepa si tiene una o varias imagenes? en lugar de hacerlo fuera del SP, se trata de hacerlo dentro, no?

Pero como calculas dentro del SP si tiene una o más de una imagen?

Muchas gracias de antemano!