Foros del Web » Programando para Internet » PHP »

Capturar id de varios checbox en una variable

Estas en el tema de Capturar id de varios checbox en una variable en el foro de PHP en Foros del Web. Buenas a todos, no se como se pueda hacer esto Tengo una serie de checbox, cada uno con un id diferente, y requiero capturar en ...
  #1 (permalink)  
Antiguo 16/06/2011, 07:30
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Capturar id de varios checbox en una variable

Buenas a todos, no se como se pueda hacer esto
Tengo una serie de checbox, cada uno con un id diferente, y requiero capturar en una sola variable (si se puede) o de otra forma, cada uno de esos id en el evento onclick del boton para pasarlos a otro archivo php

Encontre ejemplo en internet, pero en todos hacen uso del formularios como este:

http://www.forosdelweb.com/f13/captu...eckbox-504777/

Y yo no utilizo formularios, ya que los datos se pasan con ajax por POST

Los checbox estan asi:

Código PHP:
Ver original
  1. <?php
  2. echo "<table border='1' width='500'>";
  3. echo "<tr><td align='center'><b>Anexos</b></td><td align='center'><b>Seleccionar</b></td></tr>";
  4. echo "<tr><td align='center'>DIAGNOSTICOS</td><td align='center'><input type='checkbox'  id='diag'></td></tr>";
  5.  echo "<tr><td align='center'>DIAGNOSTICOS DETALLADOS</td><td align='center'><input type='checkbox'  id='diadet'></td></tr>";
  6.   echo "<tr><td align='center'>PLAN DE MANEJO EXTERNO</td><td align='center'><input type='checkbox' id='pme'></td></tr>";
  7. echo "</table></br></br>";
  8.  
  9. //El boton con el que envio
  10. echo "<button id='abrir' onclick=' '>Abrir Folio</button>";
  11. ?>
Y lo requiero de esta forma ya que segun lo que seleccione, debo hacer unas consultas a la base de datos.
Se podria capturar el id de los checbox que se seleccionen en una caja de texto o en una variable?

Como se haria?...O de que que otra forma lo podria hacer?

Agradezco me puedan colaborar, gracias
  #2 (permalink)  
Antiguo 16/06/2011, 07:46
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Capturar id de varios checbox en una variable

Código HTML:
Ver original
  1. <input type="checkbox" value="1" name="checks[]">
  2. <input type="checkbox" value="2" name="checks[]">
los colocas en forma de array

y los capturas en el archivo de procesamiento con $_POST['checks']

lo recorres con un foreach y ya.

Código PHP:
Ver original
  1. foreach($_POST['checks'] as $checks){
  2.       echo $checks;
  3. }

un consejo, separa el html del php, eso lo hace más facil.

esto
Código PHP:
Ver original
  1. echo '<td>'
dbe ser evitado.
  #3 (permalink)  
Antiguo 16/06/2011, 07:55
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: Capturar id de varios checbox en una variable

Antes de probar una pregunta, si los checbox estan creados con codigo php, sirve lo que tu muestras?...Porque veo que lo muestra con html, pero el problema es que me solicitan que sea todo en php....Gracias por tu ayuda
  #4 (permalink)  
Antiguo 16/06/2011, 07:59
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Capturar id de varios checbox en una variable

no estás creando el checkbox con php, es html, pero impreso a traves de php.

y de hecho como lo haces es una practica poco recomendable.

ve él código fuente de tu página llena de echos, y verás que es exactamente lo mismo.
  #5 (permalink)  
Antiguo 16/06/2011, 08:01
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: Capturar id de varios checbox en una variable

Si entiendo, parece que de esa forma no me va a funcionar.... :(
  #6 (permalink)  
Antiguo 16/06/2011, 08:03
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Capturar id de varios checbox en una variable

Cita:
Iniciado por oscarbt Ver Mensaje
Si entiendo, parece que de esa forma no me va a funcionar.... :(
no bueno ok, solo viendo lo que te puse seguro no te funciona, la verdad no entiendo por que llegaste a esa conclusión.

¿pero a lo mejor deberias siquiera intentarlo no?

es obvio que funciona.

no importa como haya sido creado el checkbox
  #7 (permalink)  
Antiguo 16/06/2011, 08:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Capturar id de varios checbox en una variable

Al final necesitas HTML, ya que es lo que el browser interpreta, PHP se ejecuta en el servidor, por lo que todos los controles, imagenes, etc. se tienen que definir con HTML.

Respecto a tu duda en concreto, lo mejor es que uses algún framework como jQuery, y les asignes un class, así los puedes rescatar y enviar por AJAX, por ejemplo:
Código HTML:
Ver original
  1. <input type="checkbox" name="ids[]" value="1" class="checks" />
  2. <input type="checkbox" name="ids[]" value="2" class="checks" />
  3. <input type="checkbox" name="ids[]" value="3" class="checks" />
  4. <input type="checkbox" name="ids[]" value="4" class="checks" />

Luego con jQuery:
Código Javascript:
Ver original
  1. var checks = [];
  2. $j(".checks :selected").each(funcion() {
  3.       checks.push("ids[]=" + $j(this).val());
  4. });
  5. checks = checks.join("&");

y así puedes enviarlo a tu script PHP y recibirlos como un array directamente en $_POST.

Saludos.
  #8 (permalink)  
Antiguo 16/06/2011, 08:17
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: Capturar id de varios checbox en una variable

Gracias GatorV, si necesito HTML, la unica solucion que veo con php, es recibir todos los checbox y solo hacer la consulta a los que traigan el valor 1 (activo), de esa forma creo que si me va a funcionar...
Gracias tambien memoadian por tu ayuda.......
  #9 (permalink)  
Antiguo 16/06/2011, 09:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Capturar id de varios checbox en una variable

Los checkbox solamente se envian si estan activos, si el usuario no los selecciona no se envian a tu script PHP, ese es comportamiento del browser.

Saludos.
  #10 (permalink)  
Antiguo 16/06/2011, 10:09
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: Capturar id de varios checbox en una variable

Si GatorV, me sirve porque necesito que solo se envien los activos, por tanto a esos son los unicos que le hago la consulta

Etiquetas: variables
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 04:44.