Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/01/2016, 20:20
sebastianpe93
 
Fecha de Ingreso: enero-2016
Mensajes: 14
Antigüedad: 8 años, 3 meses
Puntos: 1
Problema array con checkboxes

Saludos, espero me puedan ayudar.

Tengo una tabla dinámica de la siguiente forma:



Mediante jquery añado filas a la tabla para ingresar mas idiomas.

Código Javascript:
Ver original
  1. //creo una nueva fila
  2.  
  3.  var idusu = "<?php echo $idusuariologeado; ?>" ;
  4. var fila='<tr><td>&nbsp;</td>'+
  5.  
  6. '<td><input name="idiomas_nombre[]" type="text" placeholder="Idioma" class="form-control input-md"  /><input  name="idiomas_usu[]" type="text" value="'+ idusu + '" > </td>'+
  7.  
  8.          '<td><input  name="idiomas_suficiencia[]" type="checkbox" value="1" >'+
  9.  
  10. '<td><input  name="idiomas_escritura[]" type="checkbox" value="1" >'+
  11.  
  12. '<td><input  name="idiomas_lectura[]" type="checkbox" value="1"  ></td>'+
  13.  
  14. '<td align="center"><input  name="idiomas_hablado[]" type="checkbox" value="1" ></td></tr>';
  15.  
  16. //añado fila a la tabla
  17.  
  18. $('#tab_logic').append(fila);

Con un boton, guardo los nuevos idiomas ingresados (n cantidad) en la base con sus respectivos niveles de conocimiento (0 si no esta marcado el checkbox, 1 si esta).

Mi problema es que no logro capturar los datos de los checkboxes individualmente para cada idioma ingresado.

Cuando inserto más de un idioma nuevo, se ingresan correctamente los nombres_idioma pero los valores de los checkboxes se mezclan entre si y se ingresan solo en el primero.

Este es el codigo que utilio para capturar los values de los checkboxes en un array

Código PHP:
Ver original
  1. $nombre=$_POST['idiomas_nombre'];
  2.                 $usu=$_POST['idiomas_usu'];
  3.                 $suficiencia=$_POST['idiomas_suficiencia'];
  4.                 $escritura=$_POST['idiomas_escritura'];
  5.                 $lectura=$_POST['idiomas_lectura'];
  6.                 $hablado=$_POST['idiomas_hablado'];
  7.  
  8.                 //recorremos y vamos insertando los datos en la tabla mysql
  9.                 for ($i = 0; $i < count($nombre); $i++) {
  10.                 $sql = "INSERT INTO `idiomas` ( `idiomas_usu` , `idiomas_nombre` , `idiomas_suficiencia` , `idiomas_escritura`, `idiomas_lectura`, `idiomas_hablado` )
  11.                      VALUES( '".$usu[$i]."', '".$nombre[$i]."' , '".$suficiencia[$i]."' ,
  12.                          '".$escritura[$i]."' , '".$lectura[$i]."', '".$hablado[$i]."')";
  13.  
  14.  
  15.       mysql_select_db($database_prueba, $prueba);
  16.       $Result1 = mysql_query($sql, $prueba) or die(mysql_error());
  17.         //ENVIAR MAIL DE NOTIFICACION/////////////////////////////////////
  18.         }

Sin embargo cuando ingreso cajas de texto en lugar de checkbox me funciona a la perfección.

No se si estoy haciendo bien el bucle o podria hacerlo de otra manera.

Espero haya podido explicarme y me puedan ayudar. Gracias