PHP - Consulta checkbox

 
Vista:
sin imagen de perfil
Val: 396
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Consulta checkbox

Publicado por Robokick (156 intervenciones) el 10/09/2020 02:30:08
Amigos con este codigo yo consigo obtener la cantidad de deportes que practica un alumno si selecciono varios checkbox ojo me sale la cantidad de deportes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$cant = 0;
if (isset($_REQUEST['check1'])) {
    $cant++;
}
if (isset($_REQUEST['check2'])) {
    $cant++;
}
if (isset($_REQUEST['check3'])) {
    $cant++;
}
if (isset($_REQUEST['check4'])) {
    $cant++;
}
echo $_REQUEST['nombre'];
echo " practica $cant deportes."
?>
por ejemplo check1 es futbol check2 es basquet checkt 3 es voley y check4 es tennis
como puedo modificar mi codigo para que ahora me aparezca los nombres de los deportes que practica y ya no la cantidad

si alguien me podria orientar por favor
gracias
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 joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Consulta checkbox

Publicado por joel (1269 intervenciones) el 10/09/2020 07:58:59
Hola Robokick, no muestras el formulario HTML, pero puedes hacerlo de dos maneras...

Una es cambiar el nombre de los checkbox... en vez de check1 pon futbol, check2 por basquet, ....
Otra forma, es pasar el nombre oculto (hidden) en otro campo del formulario.

Te sirve?
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
Val: 396
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Consulta checkbox

Publicado por Robokick (156 intervenciones) el 10/09/2020 17:36:55
Hola joel
me serviria mas si me das un pequeño ejemplo ya que estoy aprendiendo php. igual te mando el formulario html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<html>
<head>
	<meta charset="UTF-8">
	<title>Formulario de deportes</title>
</head>
<body>
	<form method="post" action="deporte.php">
	Nombre completo
	<input type="text" name="nombre">
	<br>
	Deportes favoritos
	<input type="checkbox" name="check1">Fútbol
	<input type="checkbox" name="check2">Basquet
	<input type="checkbox" name="check3">Tennis
	<input type="checkbox" name="check4">Artes Marciales
	<br><br>
	<input type="submit" name="boton">
	</form>
</body>
</html>
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
Val: 396
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Consulta checkbox

Publicado por Robokick (156 intervenciones) el 10/09/2020 17:57:28
joel hice esta modificacion en el codigo php cosa que si selecciono 2 o mas deportes me muestra lo que selecciono. el tema ahora esta que nose como anteponer una coma y una Y ya que si seleciono 3 deportes deberia salir
FUTBOL, BASQUET Y TENNIS pero con este codigo me sale FUTBOL BASQUET TENNIS

PUEDES AYUDARME CON ESO POR FAVOR

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
//$cant=0;
	echo $_REQUEST["nombre"]." "."practica"." ";
if (isset($_REQUEST["check1"]))
{
	echo "futbol"." ";
}
if (isset($_REQUEST["check2"]))
{
	echo "basquet"." ";
}
if (isset($_REQUEST["check3"]))
{
	echo "tennis"." ";
}
if (isset($_REQUEST["check4"]))
{
	echo "artes marciales"." ";
}
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
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Consulta checkbox

Publicado por joel (1269 intervenciones) el 10/09/2020 19:12:38
Hola Robokick, la manera que yo lo haría es con un array... algo así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
//$cant=0;
echo $_REQUEST["nombre"]." "."practica"." ";
$result=[];
if (isset($_REQUEST["check1"])) {
	$result[]="futbol";
}
if (isset($_REQUEST["check2"])) {
	$result[]="basquet";
}
if (isset($_REQUEST["check3"])) {
	$result[]="tennis";
}
if (isset($_REQUEST["check4"])) {
	$result[]="artes marciales";
}
 
if (count($result)>1) {
    echo implode(", ", array_slice($result, 0, -1))." y ".$result[count($result)-1];
} else {
    echo $result[0];
}
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
Val: 396
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Consulta checkbox

Publicado por Robokick (156 intervenciones) el 11/09/2020 01:25:45
Joel
probe el array y funciono podrias explicarme lo que hace el ultimo if count quiero entender esa logica por favor
que hace todo este codigp

1
2
3
4
5
if (count($result)>1) {
    echo implode(", ", array_slice($result, 0, -1))." y ".$result[count($result)-1];
} else {
    echo $result[0];
}

perdon en realidad todo ya que quiero entender cuando creas la variable $result ya que pones asi
$result=[]

pero mas abajo pones $result[]="futbol"
que se genera con eso ??
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
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Consulta checkbox

Publicado por joel (1269 intervenciones) el 11/09/2020 08:06:58
tienes que mirar instrucción por instrucción...

array_slice($result, 0, -1)) -> te devuelve el array sin el ultimo elemento
implode(", ", ...) -> junta los elementos del array con una coma
$result[count($result)-1] -> obtiene el ultimo elemento del array

Es decir... junta todos los elementos del array con una coma, excepto el ultimo que lo concatenamos con el texto " y "

Me he hecho entender?
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
Val: 396
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Consulta checkbox

Publicado por Robokick (156 intervenciones) el 11/09/2020 01:52:58
JOEL OTRO DETALLE

AHORA SI NO SELECCIONO NINGUN CHECKBOX ME SALE MENSAJE DE ERRROR

Notice: Undefined offset: 0 in C:\wamp\www\Web\deporte.php on line 31

LA LINEA 31 CORRESPONDE AL echo $result[0];
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
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Consulta checkbox

Publicado por joel (1269 intervenciones) el 11/09/2020 08:04:35
Si, cierto... no lo controle... seria algo así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
//$cant=0;
echo $_REQUEST["nombre"]." "."practica"." ";
$result=[];
if (isset($_REQUEST["check1"])) {
	$result[]="futbol";
}
if (isset($_REQUEST["check2"])) {
	$result[]="basquet";
}
if (isset($_REQUEST["check3"])) {
	$result[]="tennis";
}
if (isset($_REQUEST["check4"])) {
	$result[]="artes marciales";
}
 
if (count($result)>1) {
    echo implode(", ", array_slice($result, 0, -1))." y ".$result[count($result)-1];
} else {
    echo count($result) ? $result[0] : "";
}
?>
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