PHP - Contar cada checkbox seleccionado.

   
Vista:
Imágen de perfil de Vikttorly

Contar cada checkbox seleccionado.

Publicado por Vikttorly (18 intervenciones) el 30/07/2014 05:01:52
Hola a todos¡
Soy nuevo en el foro y estoy aprendiendo a programar en php.

Estoy intentando hacer una aplicacion donde se tengan que seleccionar varios checkbox y hacer una suma de los que se han seleccionado para luego mostrar un resultado.

He buscado algo de informacion por google y encontrado, pero no funciona como yo lo necesito.
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 Vainas

Contar cada checkbox seleccionado.

Publicado por Vainas (254 intervenciones) el 30/07/2014 10:07:21
Buenas y bienvenido al foro:

Traenos un ejemplo de lo que tienes para empezar y asi podemos saber de donde te podemos ayudar.

Estos son 2 checkbox por ejemplo:

1
2
<input type="checkbox" name="num1" value="1">Numero 1
<input type="checkbox" name="num2" value="2">Numero 2

En php puedo preguntar si se ha seleccionado asi:

1
2
3
if(isset($_POST['num1'])){
//Aqui dentro hago lo que sea sabiendo que se ha seleccionado el primero.
}


Hay mas formas asi que si puedes dibujar algo o traer codigo mejor.

Saludos.
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 Vikttorly

Contar cada checkbox seleccionado.

Publicado por Vikttorly (18 intervenciones) el 30/07/2014 18:08:34
Quiero transformar este test: http://seguidoresdecristo.org/temperamentos02test.htm
en algo mas interactivo y siguiendo las reglas para realizarlo necesito contar cada opcion seleccionada con una X (que en este caso sera el checkbox) y hacer la suma de todos los checkbox que han sido marcados en una columna (son 4 columnas) tomando en cuenta que solo puede haber un checkbox marcado por linea. por ejemplo

(Ver la imagen)

Espero haberme explicado.

Sin_titulo
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 Vainas

Contar cada checkbox seleccionado.

Publicado por Vainas (254 intervenciones) el 30/07/2014 19:17:15
Buenas de nuevo:

1
solo puede haber un checkbox marcado por linea

Tomando en cuenta esto podrias mas bien pensar en radio butons http://www.w3schools.com/html/tryit.asp?filename=tryhtml_radio

El tema es que asi solo se podra seleccionar uno solo por linea como dices. Los checkbox no tienen esa opcion y no te quedara otra que, si quieres que sea con checkbox, agregarle javascript.

Sobre el codigo hay muchas formas.... se me ocurre que metas los valores en un archivo cvs. Quedaria tal que asi:

1
2
Animado;Aventurero;Analítico;Adaptable
Juguetón;Persuasivo;Persistente;Plácido

Tendras que aprender a leer estos archivos para poder mandar la info al cliente. Con algun bucle podrias ir tomando linea a linea del archivo y crear una estructura asi:

1
2
3
4
5
6
7
<form....>
<input type="radio" name="grupo1" value="1"> Animado
<input type="radio" name="grupo1" value="2"> Aventurero
<input type="radio" name="grupo1" value="3"> Analitico
<input type="radio" name="grupo1" value="4"> Adaptable <br>
<input type=submit .....>
</form>

Para procesar luego el resultado que devuelve el cliente tienes que pensar en que $_POST["grupo1"] solamente guardara el valor de la columna seleccionada. Con eso puedes ir sumando las columnas.

Ya se que he dejado todo a medias pero el resto entenderas que tienes que resolverlo tu. Traenos codigo y seguiremos echandote una mano.

Saludos.
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 Vikttorly

Contar cada checkbox seleccionado.

Publicado por Vikttorly (18 intervenciones) el 30/07/2014 20:19:54
Tienes razon al parecer es necario usar javascript o quizas jquery para esto, pero aun me aferro a que php puede realizar este trabajo.
Usando checkbox se ve mas ordenado y mas amigable para el usuario final desde mi punto de vista.
Pero tambien intentare hacerlo con radio butons como tu dices.
Buscare informacion tambien en el foro de Javascript a ver si puedo resolverlo.

De todas formas asi estaba quedando el test (con apenas 40 opciones)

http://temperamento.esy.es

Gracias amigo, cualquier cosa dejo otro mensaje en este foro.
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 Vainas

Contar cada checkbox seleccionado.

Publicado por Vainas (254 intervenciones) el 30/07/2014 20:59:16
Buenas:

Para el comportamiento que quieres de que un checkbox funcione como un radiobutton estate seguro que necesitas javascript. No he leido yo que se pueda de otra forma. No vienen en el estandar.

No entiendo que quieres decir con que se ve mas ordenado (para gustos los colores dicen ).

Pues mira me has hecho pensar y se le puede cambiar el estilo a un radiobutton para que se vea como un checkbox y asi no pierdes la funcionalidad del radiobutton

Mira esto: http://jsfiddle.net/mq8Zq/

Lo malo es que en el css pone q ie y opera no deben estar soportados asi que para estos otra cosa puedes inventar.

Espero que te sirva.

Saludos.
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 Vikttorly

Contar cada checkbox seleccionado.

Publicado por Vikttorly (18 intervenciones) el 31/07/2014 02:41:47
Exacto¡¡ tambien es bien x cierto me gustan esas herramientas que usas. Bueno con referente a la linea que dice "Solo debe tener un check en una sola linea" se me ocurrio que si se puede hacer con checkbox y es que en el mismo archivo php añadir unas lineas de codigo para devolver al usuario un mensaje si existe mas de un check en una linea o al contrario faltaria uno, ya que si hacemos una suma de todo los checks permitidos da un total de 40 ni mas ni menos es decir que con las siguientes lineas de codigo podemos hacer que el usuario se de cuenta de su error (Obviamente antes de hacer el test debe leer las reglas del mismo).

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
 
//Cada check tiene sus nombres en este caso a1,a1....a20...b13 etc
 
$totalcheck=$a1+$a2+$b4+.....$d40; //Suponiendo que d40 es la variable del ultimo check permitido
 
if  (totalcheck < 40){
   echo 'Hace falta una o mas casillas seleccionadas, por favor revisa.';
}
if (totalcheck > 40){
   echo 'Has seleccionado una o mas casillas, por favor revisa';
}
?>

Algo asi, se me acaba de ocurrir y no se si se pueda hacer asi ¿Que opinas de esta idea? recuerda, estoy aprendiendo de php y disculpa las molestias.

Pero ahora necesito aprender de Javascript y jquery. :)
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