Foros del Web » Programando para Internet » PHP »

Checkboxs dinamicos

Estas en el tema de Checkboxs dinamicos en el foro de PHP en Foros del Web. Buenas, tengo una serie de checkoxs que se generan en un bucle while con php. El tema es que el usuario puede seleccionar entre 0 ...
  #1 (permalink)  
Antiguo 16/10/2007, 15:25
 
Fecha de Ingreso: octubre-2007
Mensajes: 32
Antigüedad: 16 años, 6 meses
Puntos: 0
Checkboxs dinamicos

Buenas, tengo una serie de checkoxs que se generan en un bucle while con php. El tema es que el usuario puede seleccionar entre 0 y n checkboxs y luego quiero almacenar los valores de los checkboxs que ha seleccionado, entonces tengo el siguiente codigo.

Código:
$sql = "select * from extra";
$res = mysql_query($sql);
$i = 0;
while($array = mysql_fetch_row($res) ){
	

echo " <input type=\"checkbox\" name=\"extras[$i]\" value=\" ".$array[0]." \" >" .

"</td> ";

$i++
}
Si el usuario selecciona el 1º, 2º y 3º checkbox funciona. Pero si deja algun checkbox si seleccionar entonces no alamacena bien la informacion por ejemplo si selecciona el 2º y el 3º pero no el 1º o tambien si selecciona el 1º y el 3º pero no el 2º.

Yo creo que el problema esk si seleccionas el 1º y el 3º pero no el 2º lo que pasa es que al hacer el submit del formulario guarda en el array "extras" el valor del 1º y cuando ve que el 2º no ha sido seleccionado al no tener valor no guarda nada en el array y si keda como colgado.

¿Que pensais?
  #2 (permalink)  
Antiguo 16/10/2007, 15:34
Avatar de jorgedx  
Fecha de Ingreso: junio-2005
Ubicación: Chile, Los Andes
Mensajes: 406
Antigüedad: 18 años, 10 meses
Puntos: 4
Re: Checkboxs dinamicos

Hola encurto

Alomejor tu problema es con los indices del array ...

puede que al no seleccionar el 2º

el array en php te quede sin la 2 posicion.

te recomiendo que revises por posicion el resultado del array $extras , una vez procesado el formulario

Saludos
__________________
Nuevamente a las pistas ...
  #3 (permalink)  
Antiguo 17/10/2007, 13:48
 
Fecha de Ingreso: octubre-2007
Mensajes: 32
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Checkboxs dinamicos

Cita:
Iniciado por jorgedx Ver Mensaje
Hola encurto

Alomejor tu problema es con los indices del array ...

puede que al no seleccionar el 2º

el array en php te quede sin la 2 posicion.

te recomiendo que revises por posicion el resultado del array $extras , una vez procesado el formulario

Saludos


claro, yo creo k ese es el problema, pero no se como solucionarlo, he probado a inicializar el array antes del formulario pero ni con esas. El tema es que sólo me interesa almacenar los valores de los checkboxs k selecciona el usuario
  #4 (permalink)  
Antiguo 17/10/2007, 14:00
Avatar de jorgedx  
Fecha de Ingreso: junio-2005
Ubicación: Chile, Los Andes
Mensajes: 406
Antigüedad: 18 años, 10 meses
Puntos: 4
Re: Checkboxs dinamicos

por que no pruebas poniendo
Código PHP:
echo " <input type=\"checkbox\" name=\"extras[$i]\" value=\" ".$array[]." \" >" 
__________________
Nuevamente a las pistas ...
  #5 (permalink)  
Antiguo 18/10/2007, 02:20
 
Fecha de Ingreso: octubre-2007
Mensajes: 32
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Checkboxs dinamicos

Cita:
Iniciado por jorgedx Ver Mensaje
por que no pruebas poniendo
Código PHP:
echo " <input type=\"checkbox\" name=\"extras[$i]\" value=\" ".$array[]." \" >" 
No vamos a ver, $array[0] es el valor que le asigno a cada checkbox y extras[$i] es el vector que va a almacenar los valores de los checkbox que el usuario seleccione.
  #6 (permalink)  
Antiguo 18/10/2007, 04:00
 
Fecha de Ingreso: octubre-2007
Mensajes: 32
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Checkboxs dinamicos

Bueno, finalmente me he cansado y he puesto un onclick en cada checkbox que llama a una funcion javascript que recoge el valor del checkbox seleccionado y que recarga la pagina enviando por URL el valor del checkbox para que php lo recoja y lo guarde en un array de sesion. Complicado pero no encontre otra.

Gracias de todas formas!
  #7 (permalink)  
Antiguo 18/10/2007, 04:53
(Desactivado)
 
Fecha de Ingreso: septiembre-2007
Mensajes: 8
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Checkboxs dinamicos

<?php

if ($_POST['boton']) {

$select = array_keys($_POST['slect']);

foreach ($select as $key) {

echo "imprime el index del array -select- : ".$select;

// AKI DENTRO HAZ CON EL INDEX LO QUE QUIRAS,
//$KEY IRÁ LEYENDO TODOS LOS INDICES SELECCIONADOS...

}


<forulario>
<?php
for ($i=0; $i <4; $i++) {
echo "<input type=\"checkbox\" name=\"slect[".$i."]\">";
}
?>
<input type="submit" name="boton">
</formulario>



EDITO: NO E COMPROBADO EL CODIGO.

POR LO QUE PODRÍA CONSIDERARSE UNA IDEA SI ACASO NO TE FUNCIONA AVISA :)
  #8 (permalink)  
Antiguo 18/10/2007, 07:45
Avatar de jmqc  
Fecha de Ingreso: noviembre-2004
Ubicación: Venezuela
Mensajes: 353
Antigüedad: 19 años, 5 meses
Puntos: 1
Re: Checkboxs dinamicos

Que tal encurto, bueno ya veo q has seleccionado una solución tal vez no la mejor pero resolvistes yo lo he hecho para hacer eliminaciones multiples al estilo hotmail solo noto una difeferencia y es con esto name=\"extras[$i]\" al tener el nombre del objeto asi, como haces el $_REQUEST¿?, yo lo he hecho es creando una matriz con el objeto HTML quedaria asi tu check
Código PHP:
echo " <input type=\"checkbox\" name=\"extras[]\" value=\" ".$array[]." \" >" 
Luego cuando hagas el $_REQUEST["extras"] te va a traer una matriz con los elementos que hayas seleccionado y con eso haces tus operaciones. Bueno espero q te atrevas a probar y avises si funciono. Espero q te sirva.. Saludos
__________________
Ante el desconocimiento ni entendimiento de las cosas decimos que los demás estan locos.

José Quintero. Saludos.
:adios:
  #9 (permalink)  
Antiguo 18/10/2007, 08:34
Avatar de jorgedx  
Fecha de Ingreso: junio-2005
Ubicación: Chile, Los Andes
Mensajes: 406
Antigüedad: 18 años, 10 meses
Puntos: 4
Re: Checkboxs dinamicos

Cita:
Iniciado por encurto Ver Mensaje
No vamos a ver, $array[0] es el valor que le asigno a cada checkbox y extras[$i] es el vector que va a almacenar los valores de los checkbox que el usuario seleccione.

Prueba de esa manera php hace solo un array con los valores del array

Saludos
__________________
Nuevamente a las pistas ...
  #10 (permalink)  
Antiguo 19/10/2007, 13:56
 
Fecha de Ingreso: octubre-2007
Mensajes: 32
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Checkboxs dinamicos

Cita:
Iniciado por jmqc Ver Mensaje
Que tal encurto, bueno ya veo q has seleccionado una solución tal vez no la mejor pero resolvistes yo lo he hecho para hacer eliminaciones multiples al estilo hotmail solo noto una difeferencia y es con esto name=\"extras[$i]\" al tener el nombre del objeto asi, como haces el $_REQUEST¿?, yo lo he hecho es creando una matriz con el objeto HTML quedaria asi tu check
Código PHP:
echo " <input type=\"checkbox\" name=\"extras[]\" value=\" ".$array[]." \" >" 
Luego cuando hagas el $_REQUEST["extras"] te va a traer una matriz con los elementos que hayas seleccionado y con eso haces tus operaciones. Bueno espero q te atrevas a probar y avises si funciono. Espero q te sirva.. Saludos


Pues si! funciona GRACIAS! Lo que me extraña es que pense k ya habia probado esto pero juraria que no me habia funcionado, a saber...


Tengo otra duda, ahora intento hacer algo parecido, muestro en pantalla una tabla de la base de datos y la primera columna tiene un input type="text" y me gustaria poder actualizar el input de todas las filas simultaneamente, es viable? o tengo que hacerle escribir y guardar los cambios uno a uno?
  #11 (permalink)  
Antiguo 19/10/2007, 14:08
Avatar de jmqc  
Fecha de Ingreso: noviembre-2004
Ubicación: Venezuela
Mensajes: 353
Antigüedad: 19 años, 5 meses
Puntos: 1
Re: Checkboxs dinamicos

Que tal encurto, pq no nos muestras algo de código de como funcionaria, para saber de q se trata el text y estudiar cual seria la mejor forma de hacerlo... Saludos
__________________
Ante el desconocimiento ni entendimiento de las cosas decimos que los demás estan locos.

José Quintero. Saludos.
:adios:
  #12 (permalink)  
Antiguo 19/10/2007, 14:31
 
Fecha de Ingreso: octubre-2007
Mensajes: 32
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Checkboxs dinamicos

Ya esta, encontre la solucion.

Muchas gracias a todos. Este foro quedara en mis favoritos!
  #13 (permalink)  
Antiguo 19/10/2007, 14:40
Avatar de jorgedx  
Fecha de Ingreso: junio-2005
Ubicación: Chile, Los Andes
Mensajes: 406
Antigüedad: 18 años, 10 meses
Puntos: 4
Re: Checkboxs dinamicos

ok... postea el codigo final para que alguien pueda usarlo tambien


saludos
__________________
Nuevamente a las pistas ...
  #14 (permalink)  
Antiguo 19/10/2007, 15:30
 
Fecha de Ingreso: octubre-2007
Mensajes: 32
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Checkboxs dinamicos

Aqui lo teneis:

Código PHP:

if(isset($_POST["temp"])){  // Si hemos seleccionado algun extra, lo añadimos a la variable de sesion
    
$temp $_POST["temp"];
    for (
$i 0$i sizeof($temp); $i++) {
        
$_SESSION["extras_escogidos"][] = $temp[$i]; // Al no poner indice, añade el elemento al final del array

    
}
}

<
form name="form" method="post" action="escoger_extras.php">
$sql "select * from extra";
$res mysql_query($sql);
while(
$array mysql_fetch_row($res) ){
echo 
"Añadir <input type=\"checkbox\" name=\"temp[]\" value=\"$array[0]\"  >";
<
input type="submit" name="submit" value="Añadir al carrito"/>
 </
form
Saludos!
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 02:22.