Foros del Web » Programando para Internet » PHP »

grabar dos arreglos ¿foreach? en php-mysql

Estas en el tema de grabar dos arreglos ¿foreach? en php-mysql en el foro de PHP en Foros del Web. Hola amigos, tengo la siguiente duda, bueno les cuento. Al hacer una transacción tengo que insertar varios datos, tabla principal, despues otra taba que van ...
  #1 (permalink)  
Antiguo 26/01/2012, 17:00
 
Fecha de Ingreso: abril-2010
Mensajes: 112
Antigüedad: 14 años, 8 meses
Puntos: 2
grabar dos arreglos ¿foreach? en php-mysql

Hola amigos, tengo la siguiente duda, bueno les cuento.

Al hacer una transacción tengo que insertar varios datos, tabla principal, despues otra taba que van varios registros para cierta id de la tabla principal, eso lo hago asi, con foreach:

Código PHP:
    $idiomas  $_POST['recibeidioma']; 
       
    foreach (
$idiomas as $x){
    
$sqlidioma=("INSERT INTO sesiones_ints_has_idiomas (
                sesiones_ints_id_sesion_int, 
                idiomas_id_idioma
        ) VALUES (
                '$idactividad', '$x')"
);
        
       
// exit ("<h2>$sqlidioma</h2>");
        
mysql_query($sqlidioma) or exit(mysql_error()); 
    } 
y lo graba perfectamente, los values serían por ejemplo (239, 1); (239, 3); (239, 6)

Pero luego debo hacer un insert en otra tabla con FK, la que debo pasar los siguientes valores

IDORDEN | IDPRODUCTO | CANTIDAD

el array sería

[chkSeleccionar] => Array ( [0] => 4 [1] => 6 ) // este es id del producto
[cantServicio] => Array ( [0] => 1 [1] => 10) // estas son las cantidades

Donde el producto #4 tiene 1 en cantidad y el producto #6 tiene 10 en cantidad

Estos los paso a través de método $_POST y el id lo rescato con un SELECT LAST_INSERT_ID().
La duda es cómo manejo los arreglos de forma paralela, para que queden de forma correcta, es decir un "producto" tiene una "cantidad", hasta donde yo se no se pueden hacer foreach anidados, al menos no he leido lo contrario.

¿Alguien sabe como se podrá hacer?

Saludos y gracias de antemano


Solucionado con un for

Código PHP:
Ver original
  1. $servelej=$_POST['chkSeleccionar'];
  2.         $cant=$_POST['cantServicio'];  
  3.  
  4.      
  5.     for($i = 0; $i<count($servelej); $i++) {
  6.    
  7.         $sqlserv=("INSERT INTO sesiones_ints_has_servicios (
  8.                id_sesion_int,
  9.                id_servs_provs,
  10.                cant
  11.        ) VALUES (
  12.                '$idactividad',
  13.                '$servelej[$i]',
  14.                '$cant[$i]')");
  15.    
  16.        // exit ("<h2>$sqlserv</h2>");
  17.         mysql_query($sqlserv) or exit(mysql_error());
  18.        }

Última edición por Ojopex2; 26/01/2012 a las 17:32 Razón: solucion

Etiquetas: arreglos, foreach, mysql, php-mysql, registro, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:39.