Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/04/2012, 14:16
Avatar de jmacc
jmacc
 
Fecha de Ingreso: marzo-2007
Ubicación: Mexico
Mensajes: 94
Antigüedad: 17 años, 1 mes
Puntos: 6
Busqueda Algo mal en Foreach

Buenas gente.
Me gustaria saber si alguien ve algun error en este pequeño codigo, el problema que tengo es que no puedo insertar todos los valores de array y no se por que.
Ejemplo:
Código PHP:
Ver original
  1. $_POST['id'] = array(4,5,6,7,8,9);
  2.  
  3.          $_POST['anioini']='201';
  4.          $_POST['mesini']='04';
  5.          $_POST['diaini']='12';
  6.          $_POST['anioinidep']='201';
  7.          $_POST['mesinidep']='04';
  8.          $_POST['diainidep']='03';
  9.          $_POST['cantidad']=522;
  10.          $_POST['grupo']=4;
  11.          $_POST['ciclo']=1;
  12.          $_POST['bloque']=1;
  13.          $_POST['informacion']="asasdasdasdasdsd";
  14.  
  15. $id = implode(",",$_POST['id']);
  16. $idn = explode(',',$id);
  17.  
  18. $fecha_recepcion=$_POST['anioini']."-".$_POST['mesini']."-".$_POST['diaini'];
  19.     $fecha_deposito=$_POST['anioinidep']."-".$_POST['mesinidep']."-".$_POST['diainidep'];
  20.  
  21. $ciclo = $_POST['ciclo'];
  22.         $bloque = $_POST['bloque'];
  23.         $grupo = $_POST['grupo'];
  24.         $observa = $_POST['informacion'];
  25.  
  26.         $cantidad=$_POST['cantidad'] / $num_rs_per['Dive'];
  27.  
  28.     foreach ($idn as $ida=>$idx){
  29.    
  30. $sql = sprintf("INSERT INTO `pagos`(`id_beneficiario`,`id_ciclo`,`id_bloque`,`id_grupo`,`fecha_recepcion`,`fecha_deposito`,`monto`,`observaciones`,`activo`)VALUES ('$idn[$ida]','$ciclo','$bloque','$grupo','$fecha_recepcion','$fecha_deposito','$cantidad','$observa',1)");
  31.      }

Al imprimer el codigo sale bien como debe de ser el id que es el que me interesa cambios y los demas valores quedan bien.
El problema es que al realizar en insert en mysql solo queda el ultimo (9) y los demas no.
Se deberia de insertar el 4 y todos los datos ,luego 5 y todos su datos, asi hasta llegar al ultimo.

De antemano gracias por tomarse el tiempo.