¿Cómo recibir un array de checkbox seleccionados?

Muestro de la siguiente forma un array de preguntas que consulto de la base de datos. Con el siguiente código se muestran correctamente y por medio de los checkbox tengo la posibilidad de seleccionar a varias de la preguntas y enviarlas a otra página.
<?php
$salida=array();
$contador = mysql_num_rows($result);
if($contador>0){
while($salida=mysql_fetch_assoc($result)){
?>
<tr>
<td bgcolor="EBF3EB"> 
<input name="check_cod_pregunta<?=$contador;?>" type="checkbox" value="<?=$salida['cod_pregunta'] ?>" /> 
<? Echo $salida['descripcion'].$salida['observacion']; ?></td>
</tr>
<?php
}
} ?>
En la segunda página las recibo de la siguiente forma, pero solo me llega la última pregunta que seleccione y no todas las seleccionadas como debería hacerlo y como necesito que lo haga.
<?php
foreach (tiny_mce_markerPOST as $cod_pregunta=>$valor) {
if (substr($cod_pregunta, 0, 6) == 'check_') {
echo $cod_pregunta."=".$valor;
}
}
?>
También utilice esta instrucción (print_r(tiny_mce_markerREQUEST); ) y me muestra todos los elementos del formulario pero del for de preguntas solo la ultima pregunta seleccionada.
1

1 respuesta

Respuesta
1
El comportamiento que describes es típico de cuando existen varios elementos de formulario con el mismo nombre.
Mira el código fuente resultante desde tu explorador y verifica que cada check tenga un nombre distinto (name). Si hay más de una con el mismo nombre, el explorador asigna el valor de la última que encuentra.
Concretamente, no me extraña que tengan el mismo valor, puesto que la 'diferencia' parece que sería la variable $contador que no cambia en todo el bucle. Deberías incrementarla.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas