PHP - como pasar dos valores de un checkbox seleccionado

 
Vista:
sin imagen de perfil

como pasar dos valores de un checkbox seleccionado

Publicado por Sergio (4 intervenciones) el 10/11/2016 01:39:41
buen dia.


tengo un formulario y dentro de él estoy cargando checkbox dinamicos de unos productos, adicionalmente, en frente de cada checkbox tengo un campo number para la cantidad.

he probado codigos para recoger los valores del array que genera el checkbox y efectivamente funciona pero no me recoge la cantidad de ese check q se seleccionó. recoge la cantidad desde el primer item.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// este es el html ...los check se cargan dinamicamente, solo es un ejemplo de como lo estoy haciendo
 
<input id="id_producto1" type="checkbox" name="check[]" value="producto1">
<input id="id_producto2" type="checkbox" name="check[]" value="producto2">
<input id="id_producto3" type="checkbox" name="check[]" value="producto3">
 
 
// y con este codigo recojo los check seleccionados
 
if($_POST['check']){
	if(is_array($_POST['check']))
	{
		$inicial = 0;
		while(list($key,$value) = each($_POST['check']))
		{
			echo $value;
		}
	}
}


pero no he conseguido recoger el valor de la cantidad de cada check seleccionado.

...alguna idea? ...es el método correcto para hacer lo que necesito pero me falta algo?



gracias por la ayuda que me puedan brinda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.084
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

como pasar dos valores de un checkbox seleccionado

Publicado por xve (6933 intervenciones) el 10/11/2016 08:29:55
Hola Sergio, he preparado tu mismo código para probarlo, y me funciona perfectamente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<form method="post">
    <input id="id_producto1" type="checkbox" name="check[]" value="producto1">
    <input id="id_producto2" type="checkbox" name="check[]" value="producto2">
    <input id="id_producto3" type="checkbox" name="check[]" value="producto3">
    <input type="submit">
</form>
<?php
// y con este codigo recojo los check seleccionados
 
if($_POST['check']){
	if(is_array($_POST['check']))
	{
		$inicial = 0;
		while(list($key,$value) = each($_POST['check']))
		{
			echo $value;
		}
	}
}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

como pasar dos valores de un checkbox seleccionado

Publicado por Sergio (4 intervenciones) el 10/11/2016 16:23:27
gracias xve por responder.

efectivamente ese codigo funciona asi como esta.

(se me olvido poner esta parte en el post). al poner un campo para la cantidad, el php no me lee la cantidad del check que se selecciono sino lee la cantidad desde el primer item.

1
2
3
4
5
6
7
8
9
10
11
12
13
<form method="post">
 
    <input id="id_producto1" type="checkbox" name="check[]" value="producto1">
    <input type="number" name="cantidad[]" value="0">
 
    <input id="id_producto2" type="checkbox" name="check[]" value="producto2">
    <input type="number" name="cantidad[]" value="0">
 
    <input id="id_producto3" type="checkbox" name="check[]" value="producto3">
    <input type="number" name="cantidad[]" value="0">
 
    <input type="submit">
</form>


en este ejemplo si solo selecciono el check 3 y le pongo cantidad 1, sucederia esto.

1
2
3
4
5
6
7
8
9
10
11
[check] => Array
        (
            [0] => producto3
        )
 
[cantidad] => Array
        (
            [0] => 0
            [1] => 0
            [2] => 1
        )


la idea para que funcione bien seria que solo recogiera la cantidad del check que se seleccionó.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar