Foros del Web » Programando para Internet » PHP »

Como tomar los valores de los chekbox seleccionados

Estas en el tema de Como tomar los valores de los chekbox seleccionados en el foro de PHP en Foros del Web. hola, lo que quiero hacer es lo siguiente: tengo un ciclo for each el cual me muestra unos registros segun la consulta, agregue un checkbox ...
  #1 (permalink)  
Antiguo 27/08/2010, 14:50
 
Fecha de Ingreso: octubre-2009
Mensajes: 138
Antigüedad: 15 años
Puntos: 0
Pregunta Como tomar los valores de los chekbox seleccionados

hola,

lo que quiero hacer es lo siguiente:

tengo un ciclo for each el cual me muestra unos registros segun la consulta, agregue un checkbox para poder seleccionar los valores de cada registro, como hago para tomar los valores de los checkbox seleccionados y guardarlos en un array o variable para luego pasarla a otro form, este es el codigo:

<?php

//consulta

foreach($contactos as $contacto)
{
?>
<tr bgcolor="#F0F0F0" class="contenido">
<td width="22"></td>
<td width="97"><?php echo $contacto->nombre?></td>
<td><?php echo $contacto->apellido?></td>
<td><?php echo $contacto->celular?></td>
<td bgcolor="#F0F0F0"><label>
<input name="check" type="checkbox" id="check" value="<?php echo $contacto->idContacto?>" />
</label></td>
</tr>
<?php

}

?>


agradezco su colaboracion



saludos
  #2 (permalink)  
Antiguo 27/08/2010, 14:54
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Como tomar los valores de los chekbox seleccionados

colocarlos como un array:

<input name="check[]" ... />

para que así los accedas con $_POST['check'][0]; $_POST['check'][1]; etc.

NOTA: solo los check marcados se enviarán, es decir que $_POST['check'] solo tendrá los id seleccionados
  #3 (permalink)  
Antiguo 27/08/2010, 15:08
 
Fecha de Ingreso: octubre-2009
Mensajes: 138
Antigüedad: 15 años
Puntos: 0
Respuesta: Como tomar los valores de los chekbox seleccionados

hola , gracias por tu respuesta


No entiendo la parte de acceder a los valores, segun lo que escribiste estaria accediendo a la posicion 0 , pero en este caso no se cuantas posiciones van haber, no sabes de alguna forma de recorrer todos los check que hayan y si estan seleccionados los vaya agregando a un array seria como un ciclo o algo asi

agradezco tu colaboracion


saludos
  #4 (permalink)  
Antiguo 27/08/2010, 15:22
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Como tomar los valores de los chekbox seleccionados

si lo colocas como te indique, llegarán a php como un array normal de 0 a n y puedes usar foreach para recorrerlos, de esta forma obtienes los id seleccionados en orden:

Código PHP:
Ver original
  1. foreach($_POST['check'] as $key => $valor_id){
  2.     echo 'id posición'.$key.' es: '.$valor_id; //ejemplo
  3. }
  #5 (permalink)  
Antiguo 27/08/2010, 15:26
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 9 meses
Puntos: 12
Respuesta: Como tomar los valores de los chekbox seleccionados

Aqui tienes un ejemplo completo, Suerte

Código PHP:
<? 
if(isset($_POST['button'])){
foreach( 
$_POST['habilitar'] as $key => $value ) {
   echo 
"Key: $key; Valor: $value<br>";
}
}
?>
Código HTML:
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
  <input name="habilitar[]" type="checkbox" id="asda" value="0" checked /> asdfasd<br />
  <input type="checkbox" name="habilitar[]" id="asda" value="1" />asdfasd <br />
  <input type="checkbox" name="habilitar[]" id="asda" value="0"/>asdfasd <br />
  <input type="checkbox" name="habilitar[]" id="asda" value="0" /> asdfasd<br />

  <input type="submit" name="button" id="button" value="Enviar" />

</form>
</body>
</html> 
  #6 (permalink)  
Antiguo 27/08/2010, 15:46
 
Fecha de Ingreso: octubre-2009
Mensajes: 138
Antigüedad: 15 años
Puntos: 0
Respuesta: Como tomar los valores de los chekbox seleccionados

Muchas gracias.. me ha funcionado como queria

saludos

Etiquetas: chekbox, tomar
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 22:20.