
Problema array con checkboxes
Publicado por Sebastian (35 intervenciones) el 25/01/2016 03:16:45
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.
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
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
Tengo una tabla dinámica de la siguiente forma:
Mediante jquery añado filas a la tabla para ingresar mas idiomas.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//creo una nueva fila
var idusu = "<?php echo $idusuariologeado; ?>" ;
var fila='<tr><td> </td>'+
'<td><input name="idiomas_nombre[]" type="text" placeholder="Idioma" class="form-control input-md" /><input name="idiomas_usu[]" type="text" value="'+ idusu + '" > </td>'+
'<td><input name="idiomas_suficiencia[]" type="checkbox" value="1" >'+
'<td><input name="idiomas_escritura[]" type="checkbox" value="1" >'+
'<td><input name="idiomas_lectura[]" type="checkbox" value="1" ></td>'+
'<td align="center"><input name="idiomas_hablado[]" type="checkbox" value="1" ></td></tr>';
//añado fila a la tabla
$('#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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$nombre=$_POST['idiomas_nombre'];
$usu=$_POST['idiomas_usu'];
$suficiencia=$_POST['idiomas_suficiencia'];
$escritura=$_POST['idiomas_escritura'];
$lectura=$_POST['idiomas_lectura'];
$hablado=$_POST['idiomas_hablado'];
//recorremos y vamos insertando los datos en la tabla mysql
for ($i = 0; $i < count($nombre); $i++) {
$sql = "INSERT INTO `idiomas` ( `idiomas_usu` , `idiomas_nombre` , `idiomas_suficiencia` , `idiomas_escritura`, `idiomas_lectura`, `idiomas_hablado` )
VALUES( '".$usu[$i]."', '".$nombre[$i]."' , '".$suficiencia[$i]."' ,
'".$escritura[$i]."' , '".$lectura[$i]."', '".$hablado[$i]."')";
mysql_select_db($database_prueba, $prueba);
$Result1 = mysql_query($sql, $prueba) or die(mysql_error());
//ENVIAR MAIL DE NOTIFICACION/////////////////////////////////////
}
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
Valora esta pregunta


0