Foros del Web » Programando para Internet » PHP »

Recibir valor de checkboxs

Estas en el tema de Recibir valor de checkboxs en el foro de PHP en Foros del Web. Tengo una duda. Estoy creando en una tabla (dentro de un formulario en POST) un listado de usuarios y junto a ellos un checkbox en ...
  #1 (permalink)  
Antiguo 28/09/2011, 12:48
 
Fecha de Ingreso: agosto-2011
Mensajes: 100
Antigüedad: 12 años, 8 meses
Puntos: 1
Pregunta Recibir valor de checkboxs

Tengo una duda.

Estoy creando en una tabla (dentro de un formulario en POST) un listado de usuarios y junto a ellos un checkbox en cada uno, algo así:

Código HTML:
Ver original
  1. <table width="400" cellspacing="2">
  2.           <tr bgcolor="#80BB00">
  3.             <th scope="col">ID</th>
  4.             <th scope="col">Nombre</th>
  5.             <th scope="col">Seleccionar</th>
  6.           </tr>
  7.           <?php
  8.           $sentencia = "select usuario.id_usuario,usuario.nombre from usuario,perfil where usuario.id_perfil = perfil.id_perfil and perfil.pais = '$nacion' order by permisos desc";
  9.           $consultar = pg_query($con,$sentencia);
  10.           while($rs = pg_fetch_array($consultar)){
  11.          ?>
  12.           <tr align="center">
  13.             <td><?php echo $rs['id_usuario'];?></td>
  14.             <td><?php echo $rs['nombre'];?></td>
  15.             <td><input name="checkbox" type="checkbox" value="<?php echo $rs['id_usuario'];?>"></td>
  16.           </tr>
  17.           <?
  18.           }
  19.           ?>
  20.           <tr>
  21.             <td colspan="4" align="center"><input name="Enviar" type="submit" id="Enviar" value="Enviar"></td>
  22.           </tr>
  23.         </table>

Mi duda es que cuando aprete el botón enviar y esté dentro del IF($_POST['Enviar']) cómo lo hago para recibir la información de los checkbox, cómo lo hago si son varios?

Agradezco la ayuda de antemano.
  #2 (permalink)  
Antiguo 28/09/2011, 12:57
 
Fecha de Ingreso: septiembre-2011
Ubicación: DF
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 6
Respuesta: Recibir valor de checkboxs

La manera en lo que lo estas haciendo esta bien, cuando recibas los valores vas a recibir como un arreglo;

lo puedes chevar con var_dump($_POST['checkbox']);
  #3 (permalink)  
Antiguo 28/09/2011, 13:00
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: Recibir valor de checkboxs

Cita:
Iniciado por Bish0p Ver Mensaje
La manera en lo que lo estas haciendo esta bien, cuando recibas los valores vas a recibir como un arreglo;

lo puedes chevar con var_dump($_POST['checkbox']);

Eso no es del todo cierto, deberas colocar en el nombre del checkbox esto:

checkbox[]

Ahora si recibirá los datos de los checkbox como un arreglo.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #4 (permalink)  
Antiguo 28/09/2011, 13:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Recibir valor de checkboxs

De hecho no está bien, pues para agrupar distintos valores en un array debes usar la nomenclatura de array.
Código HTML:
<!-- MAL -->
<input name="foo"/>

<!-- BIEN -->
<input name="foo[]"/> 
Edito: jotaincubus, efectivamente!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 28/09/2011, 13:04
 
Fecha de Ingreso: agosto-2011
Mensajes: 100
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Recibir valor de checkboxs

Me están confundiendo!!! :s
  #6 (permalink)  
Antiguo 28/09/2011, 13:06
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: Recibir valor de checkboxs

Lectura recomendada,

Arreglos
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #7 (permalink)  
Antiguo 28/09/2011, 14:50
 
Fecha de Ingreso: septiembre-2011
Ubicación: DF
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 6
Respuesta: Recibir valor de checkboxs

Tienes razon jotaincubus


Feligo, pon el nombre de tus checkboxes asi:

Código HTML:
Ver original
  1. <td><input name="checkbox[]" type="checkbox" value="<?php echo $rs['id_usuario'];?>"></td>

Saludos
  #8 (permalink)  
Antiguo 28/09/2011, 15:00
 
Fecha de Ingreso: agosto-2011
Mensajes: 100
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Recibir valor de checkboxs

Cita:
Iniciado por Bish0p Ver Mensaje
Tienes razon jotaincubus


Feligo, pon el nombre de tus checkboxes asi:

Código HTML:
Ver original
  1. <td><input name="checkbox[]" type="checkbox" value="<?php echo $rs['id_usuario'];?>"></td>

Saludos
Luego de que tengo el nombre de esa forma, cómo lo hago para sacar la info de los checkbox? con algún ciclo?
  #9 (permalink)  
Antiguo 28/09/2011, 15:02
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Recibir valor de checkboxs

Si con un bucle o un simple implode. Como más te convenga.

Código PHP:
Ver original
  1. echo implode(', ', $_POST['checkbox']);

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #10 (permalink)  
Antiguo 28/09/2011, 15:07
 
Fecha de Ingreso: agosto-2011
Mensajes: 100
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Recibir valor de checkboxs

Uhmm... lo revisé y funciona (le puse un ECHO). Me dí cuenta de que esa función saca todo lo que tiene el checkbox que esté seleccionado.

La pregunta es, como lo que tiene el implode son IDS de usuario, ¿cómo le asigno una variable a cada ID dentro del implode?

Disculpa, pero primera vez que ocupo el implode y checkboxs... gracias por la paciencia.
  #11 (permalink)  
Antiguo 28/09/2011, 15:23
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Recibir valor de checkboxs

Lo que estás recibiendo es un array y puedes hacer con el lo que quieras

tu información está almacenada así:

echo $_POST['checkbox'][0];

donde el índice cero sería el usuario número uno y así sucesivamente.

¿Qué quieres hacer con los datos?
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #12 (permalink)  
Antiguo 28/09/2011, 15:29
 
Fecha de Ingreso: agosto-2011
Mensajes: 100
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Recibir valor de checkboxs

Cita:
Iniciado por andresdzphp Ver Mensaje
Lo que estás recibiendo es un array y puedes hacer con el lo que quieras

tu información está almacenada así:

echo $_POST['checkbox'][0];

donde el índice cero sería el usuario número uno y así sucesivamente.

¿Qué quieres hacer con los datos?
Si, entiendo.

Lo que pasa es que cuando le doy el nombre al check, solo le digo que sea arreglo, no le doy fila ni columna... y dentro del implode se guardan de forma lineal (por decirlo de algún modo) todos los IDs marcados.... y lo que necesito hacer con ellos es un insert individual, suponte esto:

Tengo una tabla que se llama X y que tiene 2 campos, nombre e ID... en la tabla que mostré en el primer post, ya tengo el campo nombre, y necesitaba el ID... pero implode los tiene todos juntos, por eso quiero sacar cada ID que contenga el implode para poder insertar la info que necesita la tabla... por eso pregunté si necesitaba un ciclo.

Me serviría para esto un "while(implode(blabla)){ $id = implode(blabla); insertarlo;}?? no sé si se entiende.
  #13 (permalink)  
Antiguo 28/09/2011, 15:32
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Recibir valor de checkboxs

Te sirve un bucle foreach para recorrer todos los ID. El implode era sólo un ejemplo en caso de quererlos imprimir sin bucle.

Código PHP:
Ver original
  1. foreach ($_POST['checkbox'] as $tuid) {
  2.     echo $tuid . '<br />'; //Lo que quieras hacer en el bucle
  3. }
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #14 (permalink)  
Antiguo 28/09/2011, 15:35
 
Fecha de Ingreso: agosto-2011
Mensajes: 100
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Recibir valor de checkboxs

Cita:
Iniciado por andresdzphp Ver Mensaje
Te sirve un bucle foreach para recorrer todos los ID. El implode era sólo un ejemplo en caso de quererlos imprimir sin bucle.

Código PHP:
Ver original
  1. foreach ($_POST['checkbox'] as $tuid) {
  2.     echo $tuid . '<br />'; //Lo que quieras hacer en el bucle
  3. }
Lo intentaré y aviso...

Muchas gracias de todas maneras por la paciencia y disposición.
  #15 (permalink)  
Antiguo 28/09/2011, 19:53
 
Fecha de Ingreso: agosto-2011
Mensajes: 100
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: Recibir valor de checkboxs

Me funcionó perfecto... muchas gracias!

Etiquetas: bucle, foreach, recibir, tabla, usuarios
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 07:33.