Foros del Web » Programando para Internet » PHP »

Checkboxs on/off

Estas en el tema de Checkboxs on/off en el foro de PHP en Foros del Web. Amigos : tengo arreglo de checboxs y no se que hago mal pero no logro recuperar correctamente que checkbox fueron chequeados. El problema que tengo ...
  #1 (permalink)  
Antiguo 11/09/2009, 23:00
 
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 14 años, 8 meses
Puntos: 10
Exclamación Checkboxs on/off

Amigos: tengo arreglo de checboxs y no se que hago mal pero no logro recuperar correctamente que checkbox fueron chequeados.

El problema que tengo es que solo recibo los valores de los chequeados (los "on") pero pierdo la correspondecia: ya no se a quien le pertenecen esos "on"

Se entiende ? o es que la unica forma es con RADIOs ?

GRACIAS!!!

pd: tampoco se si tengo que poner algun value='' porque uso solo NAME y CHECKED
  #2 (permalink)  
Antiguo 11/09/2009, 23:06
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Checkboxs on/off

Pero puedes declarar un valor a los checkbox y asi no te envia un on
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 11/09/2009, 23:25
 
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 14 años, 8 meses
Puntos: 10
Respuesta: Checkboxs on/off

Si.........ABI (hola)...... pero eso no soluciona mi problema: solo me envia los que fueron chequeados..... y no el vector entero ¿ entendes???

Lo intenté ahora con RADIOs y no tuve mejor suerte... porque ahora.... me pasa que no pueden llamarse Juan Pedro Juan Pedro Juan..... Juan Pedro, o sea... no pueden repetirse de a pares o ternas, etc los valores:


<form action="" method="GET" ENCTYPE="application/x-www-form-urlencoded">
<input type="radio" name="tipoconte[]" value='atp' />ATP <br>
<input type="radio" name="tipoconte[]" value='zzz' checked='checked' />zzz <br>
<br/> <input type="submit" name="boton" value='enviar' id='enviar' class='boton'/><br/>

<input type="radio" name="tipoconte[]" value='atp' />ATP <br>
<input type="radio" name="tipoconte[]" value='zzz' checked='checked' />zzz <br>
<br/> <input type="submit" name="boton" value='enviar' id='enviar' class='boton'/><br/>

<input type="radio" name="tipoconte[]" value='atp' />ATP <br>
<input type="radio" name="tipoconte[]" value='zzz' checked='checked' />zzz <br>
<br/> <input type="submit" name="boton" value='enviar' id='enviar' class='boton'/><br/>

<p/><br/>
</form>

Si hago eso me queda asi:

  #4 (permalink)  
Antiguo 11/09/2009, 23:26
 
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 14 años, 8 meses
Puntos: 10
Respuesta: Checkboxs on/off

Ya me veo... otra vez solucionando con eval() lo cual...es demasiado complejo.....para algo tan simple

EDIT: para "simplificar" lo hice con un SELECT con dos opciones... pero claro.. se tarda mas en seleccionar que en chequear

Última edición por bigwhite; 11/09/2009 a las 23:53
  #5 (permalink)  
Antiguo 12/09/2009, 00:21
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Checkboxs on/off

¿Pero como lo hiciste con eval? Es para entender lo que querias hacer.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 12/09/2009, 06:22
 
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 14 años, 8 meses
Puntos: 10
Respuesta: Checkboxs on/off

Abimael: te resumo lo que aprendí estos dias:

+ Intentar resolver un "array de checkboxs on/off" solo con PHP es IMPOSIBLE porque solo se envia informacion de los que estan en "on" y no hay arreglo en el cual figuren los "off" asi que es un arreglo compacto y no hay forma de saber de donde viene cada "on". Quizas se pueda hacer con AJAX

+ Hacer un SELECT simple o multiple es simple y directo pero intentar hacer un "array de select multiples" (de selects todos iguales y multiples) con PHP (solamente) es posible solo si se hace que cada select multiple a los ojos del navegador sea distinto: select1, select2,....etc. y esto se puede hacer concatenando un indice al final del 'name' y luego filtrando de alguna manera $_POST o $_GET.

Esto lo logre hacer con eval() y sucede que tener un "array de select multiples" es el mismo problema que tener un "array de radiobuttons". Todo esto se puede resolver SOLO con PHP.

+ Por otro lado, resolver el mismo problema con un "array de SELECT OPTIONs (simples)" es la tonteria mas grande del mundo....

Como se ve...... el mismo problema de "seleccion" puede ser muy simple o un dolor de cabeza ....de acuerdo a la forma de "solucion"
  #7 (permalink)  
Antiguo 12/09/2009, 09:50
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: Checkboxs on/off

Puedes generar un arreglo en el html.

Ejemplo

Código:
<input type="checkbox" name="check[]" value="1" /> Check 1
<input type="checkbox" name="check[]" value="2" /> Check 2
<input type="checkbox" name="check[]" value="3" /> Check 3
<input type="checkbox" name="check[]" value="4" /> Check 4
<input type="checkbox" name="check[]" value="5" /> Check 5
Luego lo recorres con php

Código PHP:

<?php
// Obtenemos el arreglo
$check $_POST['check'];
$countCheck count($check);

for(
$i 0$i $countCheck$i++)
{
     if(!
is_numeric($check[$i]) or is_null($check[$i]))
     {
          echo 
"El checkbox ". ($i+1) . " está OFF";
     }
     else
     {
          echo 
"El checkbox ".($i+1). " está ON";
     }
}
?>
Creo que debería funcionar. Nos vemos.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #8 (permalink)  
Antiguo 12/09/2009, 11:00
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 7 meses
Puntos: 20
Respuesta: Checkboxs on/off

Ten en cuenta que el que un formulario te envie unicamente los valores en "on" de los checkboxes no es problema de php. Lo puedes hacer declarando antes de cada checkbox un campo hidden con el valor de "off" y el mismo nombre del checkbox. El navegador te enviara entonces el valor de los on y de los off
__________________
I see dead pixels
  #9 (permalink)  
Antiguo 12/09/2009, 11:06
 
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 14 años, 8 meses
Puntos: 10
Respuesta: Checkboxs on/off

Spider: sucede que yo tengo algo asi:

Código codigo:
Ver original
  1. <input type="checkbox" name="check[]" value="1" /> Check 1
  2. <input type="checkbox" name="check[]" value="2" /> Check 2
  3. <input type="checkbox" name="check[]" value="1" /> Check 1
  4. <input type="checkbox" name="check[]" value="2" /> Check 2
  5. <input type="checkbox" name="check[]" value="1" /> Check 1
  6. <input type="checkbox" name="check[]" value="2" /> Check 2

SergeMedina: estube pensando en tu solucion... y si funciona.......seria genial -gracias!!!!-

Yo habia pensado otra: poniendo como "value" el indice del array...entonces todos los elementos tendran "algo"... luego es cuestion de hacer un in_array() o algo de eso..y ver para cada checkbox si su indice aparece y por tanto.....es un "on"

Gracias a todos
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 08:05.