Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/09/2015, 14:31
BlackJccl1
 
Fecha de Ingreso: abril-2015
Mensajes: 304
Antigüedad: 9 años, 1 mes
Puntos: 2
Guardar Varios registro de una sola vez

Hola ha todos tal vez alguien por aquí en este foro ya ha hecho esto pero tengo una idea de como hacerlo pero he probado y no me sale, les comento tengo dos tablas
la primera es esta seg_pap esta relacionada con otro tabla
Código MySQL:
Ver original
  1. CREATE TABLE `seg_pap` (
  2.   `seg_pap_id` int(11) NOT NULL AUTO_INCREMENT,
  3.   `jc_usuario_id` int(11) DEFAULT NULL,
  4.   `jc_empresa_id` int(11) DEFAULT NULL,
  5.   `jc_contacto_id` int(11) DEFAULT NULL,
  6.   `jc_actividad_id` int(11) DEFAULT NULL,
  7.   `seg_estatus_id` int(11) DEFAULT NULL,
  8.   `seg_referencia_id` int(11) DEFAULT NULL,
  9.   `seg_pap_fecha_requerimiento` date DEFAULT NULL,
  10.   `seg_pap_fecha_ultimo_contac` date DEFAULT NULL,
  11.   `seg_pap_fecha_proximo_contac` date DEFAULT NULL,
  12.   `jc_unidad_negocio_id` int(11) DEFAULT NULL,
  13.   `seg_pap_observaciones` varchar(500) DEFAULT NULL,
  14.   PRIMARY KEY (`seg_pap_id`),
  15.   KEY `seguimiento_pap_usuario` (`jc_usuario_id`),
  16.   KEY `seguimiento_pap_contacto` (`jc_contacto_id`),
  17.   KEY `seguimiento_pap_estatus` (`seg_estatus_id`),
  18.   KEY `seguimiento_pap_contacto_empresa` (`jc_empresa_id`),
  19.   KEY `seguimiento_pap_unidad_negocio` (`jc_unidad_negocio_id`),
  20.   KEY `seguimiento_pap_actividad` (`jc_actividad_id`),
  21.   KEY `seguimiento_pap_referencia` (`seg_referencia_id`),
  22.   CONSTRAINT `seguimiento_pap_actividad` FOREIGN KEY (`jc_actividad_id`) REFERENCES `seg_actividad` (`jc_actividad_id`),
  23.   CONSTRAINT `seguimiento_pap_contacto` FOREIGN KEY (`jc_contacto_id`) REFERENCES `contacto` (`jc_contacto_id`),
  24.   CONSTRAINT `seguimiento_pap_contacto_empresa` FOREIGN KEY (`jc_empresa_id`) REFERENCES `contacto` (`jc_empresa_id`),
  25.   CONSTRAINT `seguimiento_pap_estatus` FOREIGN KEY (`seg_estatus_id`) REFERENCES `seg_estatus` (`seg_estatus_id`),
  26.   CONSTRAINT `seguimiento_pap_referencia` FOREIGN KEY (`seg_referencia_id`) REFERENCES `seg_referencia` (`seg_referencia_id`),
  27.   CONSTRAINT `seguimiento_pap_unidad_negocio` FOREIGN KEY (`jc_unidad_negocio_id`) REFERENCES `unidad_negocio` (`jc_unidad_negocio_id`),
  28.   CONSTRAINT `seguimiento_pap_usuario` FOREIGN KEY (`jc_usuario_id`) REFERENCES `usuarios_crm` (`jc_usuario_id`)
que es la siguiente el tipo de relación es de uno a muchos
Código MySQL:
Ver original
  1. CREATE TABLE `seg_pap_servicio` (
  2.   `seg_pap_id` int(11) DEFAULT NULL,
  3.   `jc_servicio_id` int(11) DEFAULT NULL,
  4.   `seg_pap_valor_venta` decimal(15,0) DEFAULT NULL,
  5.   KEY `seguimiento_pap_servicio` (`jc_servicio_id`),
  6.   KEY `seguimiento_pap_id` (`seg_pap_id`),
  7.   CONSTRAINT `seguimiento_pap_id` FOREIGN KEY (`seg_pap_id`) REFERENCES `seg_pap` (`seg_pap_id`),
  8.   CONSTRAINT `seguimiento_pap_servicio` FOREIGN KEY (`jc_servicio_id`) REFERENCES `servicio` (`jc_servicio_id`)
ahora bien hasta ahi no hay problema el tema esta al realizar las inserciones pues para la primera no tengo ningun problema lo realizo de la siguiente manera
Código PHP:
Ver original
  1. <?php
  2. require_once('funciones/funciones.php');
  3. $nsp_fecha_requerimiento = cambiarFormatoFecha($_POST['nsp_fecha_requerimiento']);
  4. $nsp_fecha_ultimo_contacto = cambiarFormatoFecha($_POST['nsp_fecha_ultimo_contacto']);
  5. $nsp_fecha_proximo_contacto = cambiarFormatoFecha($_POST['nsp_fecha_proximo_contacto']);
  6. $nsp_data = array('nsp_fecha_requerimiento' => $nsp_fecha_requerimiento,
  7.                   'nsp_fecha_ultimo_contacto' => $nsp_fecha_ultimo_contacto,
  8.                   'nsp_fecha_proximo_contacto' => $nsp_fecha_proximo_contacto,
  9.                   'nsp_contacto' => $_POST['nsp_contacto'],
  10.                   'nsp_contacto_empresa' => $_POST['nsp_contacto_empresa'],
  11.                   'nsp_estatus' => $_POST['nsp_estatus'],
  12.                   'nsp_actividad' => $_POST['nsp_actividad'],
  13.                   'nsp_referencia' => $_POST['nsp_referencia'],
  14.                   'nsp_observaciones' => $_POST['nsp_observaciones'],
  15.                   'cod_user_pap' => $_SESSION['cod_user_pap']);
  16. $nsp_data_pv = array('nsp_programa_1' => $_POST['nsp_programa_1'],
  17.                     'nsp_valor_venta_1' => $_POST['nsp_valor_venta_1'],
  18.                     'nsp_programa_2' => $_POST['nsp_programa_2'],
  19.                     'nsp_valor_venta_2' => $_POST['nsp_valor_venta_2']);
  20. registrar_seguimiento_pap($nsp_data,$nsp_data_pv);
en un array recogo los datos y los envio a mi funcion he aqui el problema porque como ven en la segunda tabla guardo el id y hai el problema porque no se como guardar varios registros enviándolo en distintos campos aquí mi función
Código PHP:
Ver original
  1. function registrar_seguimiento_pap($nsp_data,$nsp_data_pv){
  2.   $link = getConexion();
  3.   $nsp_fecharequerimiento = mysql_real_escape_string($nsp_data['nsp_fecha_requerimiento']);
  4.   $nsp_fechaultimocontacto = mysql_real_escape_string($nsp_data['nsp_fecha_ultimo_contacto']);
  5.   $nsp_fechaproximocontacto = mysql_real_escape_string($nsp_data['nsp_fecha_proximo_contacto']);
  6.   $nsp_contacto = mysql_real_escape_string($nsp_data['nsp_contacto']);
  7.   $nsp_contactoempresa = mysql_real_escape_string($nsp_data['nsp_contacto_empresa']);
  8.   $nsp_estatus = mysql_real_escape_string($nsp_data['nsp_estatus']);
  9.   $nsp_actividad = mysql_real_escape_string($nsp_data['nsp_actividad']);
  10.   $nsp_referencia = mysql_real_escape_string($nsp_data['nsp_referencia']);
  11.   $nsp_observaciones = mysql_real_escape_string($nsp_data['nsp_observaciones']);
  12.   $cod_user_pap = mysql_real_escape_string($nsp_data['cod_user_pap']);
  13.   $query_pap = "INSERT INTO seg_pap(jc_usuario_id,jc_empresa_id,jc_contacto_id,jc_actividad_id,seg_estatus_id,seg_referencia_id,seg_pap_fecha_requerimiento,seg_pap_fecha_ultimo_contac,seg_pap_fecha_proximo_contac,jc_unidad_negocio_id,seg_pap_observaciones) VALUES($cod_user_pap,$nsp_contactoempresa,$nsp_contacto,$nsp_actividad,$nsp_estatus,$nsp_referencia,'$nsp_observaciones')";
  14.   @mysql_query($query_pap, $link) or die(mysql_error());
  15.   $seg_id_pap = mysql_insert_id();
  16.   $query_pap_servicio = "INSERT INTO seg_pap_servicio(seg_pap_id,jc_servicio_id,seg_pap_valor_venta) VALUES";
  17.   foreach ($nsp_data_pv as $key => $value) {
  18.     if (!empty($key) || !empty($value)) {
  19.       $query_pap_servicio.=sprintf("('%s','%s')",trim($key),trim($value));
  20.     }
  21.   }
  22.   $query_pap_servicio = rtrim($query_pap_servicio,',');
  23.   @mysql_query($query_pap_servicio, $link) or die(mysql_error());
  24.   echo $query_pap_servicio;
  25. }
el foreach lo vi en un tutorial pero me quede hai no se si hay otra forma para poder realizar la insercion