PHP - sumar value checkbox antes de enviar a BD

 
Vista:
Imágen de perfil de Cesar
Val: 88
Ha disminuido su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

sumar value checkbox antes de enviar a BD

Publicado por Cesar (19 intervenciones) el 22/04/2019 23:56:28
Buenas
como podría sumar la los valúes de varios checkbox numéricos , para solo enviar un resultado a la base de datos por post .

1
2
3
4
5
6
<H3> <STRONG> compra </STRONG></H3>
<label><input type="checkbox" name="compra" value="40"> 		carne<br></label><br>
<label><input type="checkbox" name="compra" value="20"> 	pescado<br></label><br>
<label><input type="checkbox" name="compra" value="35"> 		fruta<br></label><br>
<label><input type="checkbox" name="compra" value="20"> 		verdura<br></label><br>
<label><input type="checkbox" name="compra" value="35"> 			utensilios<br></label><br>

este es el checkbox

ahora lo que tengo es un implode que me manda lo seleccionado a la BD separado por un slash (ej 35 / 20)
y necesito la suma d ambos

este es el codigo del implode
1
2
if (isset($_POST['compra'])){
$compra = implode(' / ' , $_POST['compra']);

Gracias de antemano y un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder
Imágen de perfil de xve
Val: 3.037
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

sumar value checkbox antes de enviar a BD

Publicado por xve (6928 intervenciones) el 23/04/2019 10:29:44
Hola Cesar, puedes utilizar array_sum($_POST['compra'])

https://www.php.net/manual/es/function.array-sum.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Cesar
Val: 88
Ha disminuido su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

sumar value checkbox antes de enviar a BD

Publicado por Cesar (19 intervenciones) el 28/04/2019 22:21:11
Perfecto xve lo acabo de probar y perfecto muchas gracias ,
He estado sin ordenador hasta hoy y no lo he podido probar
y estaba con unas ganas . jejejejeje

muchas gracias .

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 Kathyu
Val: 1.741
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

sumar value checkbox antes de enviar a BD

Publicado por Kathyu (491 intervenciones) el 23/04/2019 23:08:32
Todos los checks se llaman igual?

Porque al igual que un form, cada check llega como una variable cuando recibe el $_POST, de ahí los puede tomar y sumar.

Pero si todos se llaman igual no sabría si la solución de xve seria la ideal.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Cesar
Val: 88
Ha disminuido su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

sumar value checkbox antes de enviar a BD

Publicado por Cesar (19 intervenciones) el 24/04/2019 00:59:07
Buenas y gracias

Si se llaman todos igual ,sigo dándolo una vuelta con la documentación que mando xve y he encontrado también
este código en java scrip

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ejemplo</title>
<script language="javascript" type="text/javascript">
function sumar(){
    obj = document.miform['id'];
    totalChecks = obj.length;
    totalSumado = 0;
    for( i=0; i<totalChecks; i++){
        if( obj[i].checked == true ){
            valor = obj[i].value.split('-');
            totalSumado = totalSumado + parseInt(valor[0],10);
        }
    }
    document.getElementById('informacion').innerHTML = 'estás sumando: '+ totalSumado;
}
</script>
</head>
 
<body>
<div id="informacion">estás sumando: 0</div>
<form name="miform" id="miform">
 
    <label><input name="id" id="clt" type="checkbox" value="15" onclick="sumar()">CAPOT<br></label><br>
	<label><input name="id" id="clt" type="checkbox" value="20" onclick="sumar()">PORTON <br></label><br>
	<label><input name="id" id="clt" type="checkbox" value="15" onclick="sumar()">PUERTA AVD <br></label><br>
 
</form>
</body>
</html>

que funciona bien pero al introducirlo en mi php no lo consigo seguiré esta semana para ver que saco .

os iré contando haber y gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Kathyu
Val: 1.741
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

sumar value checkbox antes de enviar a BD

Publicado por Kathyu (491 intervenciones) el 24/04/2019 16:07:53
Pero porque el mismo nombre?

Le creo los radios porque son varios, todos con diferente valor pero la variable es la misma.

No veo la importancia que lleve el mismo nombre, explique porque deben llevar el mismo nombre !!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Cesar
Val: 88
Ha disminuido su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

sumar value checkbox antes de enviar a BD

Publicado por Cesar (19 intervenciones) el 24/04/2019 19:00:27
Lo tengo así para mandar por post con un implode todas las casillas checkeadas a la BD y que queden todos en una sola celda

No se muy bien como dices
De la manera que te entiendo debería crear en la base de datos una columna por cada check y guardar su value

Gracias de AntemanoAntemano
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar