Foros del Web » Programando para Internet » PHP »

suma por verificacion

Estas en el tema de suma por verificacion en el foro de PHP en Foros del Web. Hola amigos, quisiera saber si me pueden dar una mano con este tema. Luego de verificar algunos registros, quisiera que estos se sumen. Les muestro ...
  #1 (permalink)  
Antiguo 20/05/2014, 17:47
Avatar de asus090102  
Fecha de Ingreso: mayo-2012
Ubicación: Ensenada- Buenos Aires
Mensajes: 67
Antigüedad: 12 años, 6 meses
Puntos: 1
suma por verificacion

Hola amigos, quisiera saber si me pueden dar una mano con este tema. Luego de verificar algunos registros, quisiera que estos se sumen. Les muestro como voy hasta ahora:
Código PHP:
<?php
include("seguridad.php");
include (
"conexion.php");
$rst_ordenes=mysql_query("SELECT * FROM costos ORDER BY id_costos"$conexion);
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>listado</title>
<style type="text/css">
</style></head>
<BODY>
<label><h3>LISTADO:</h3></label>
<table cellpadding="0" cellspacing="0" border="4" style="text-align: center; border-color: #009c3c; ">
<tr>
<td><input type="submit" id="btnfecha" name="fechae" value="ID"/>
    </td>         
<td><input type="submit" id="btning" name="id_denuncia" value="NOMBRE"/>
    </td>         
<td><input type="submit" id="btnden" name="denuncia" value="APELLIDO"/>
    </td>
<td><input type="submit" id="btnprop" name="propietario" value="DESTINO"/>
    </td>
<td><input type="submit" id="btnexp" name="valor" value="VALOR"/>
    </form></td>
</tr>
      <?php
      
while ($fila=  mysql_fetch_array($rst_ordenes))
      {
      
?>
<form name="form1" method="post" action="" >
<tr>
<td><?php echo$fila["id_costos"];?></td>
<td><?php echo$fila["nombre"];?></td>
<td><?php echo$fila["apellido"];?></td>
<td><?php echo$fila["destino"];?></td>
<td><?php echo$fila["valor"];?></td>
<td><input name="check" type="checkbox" id="checkbox[]" value="<?php echo$fila["valor"];?>"></td> 
<?php
}
?>
</tr>
</table>
<table><input type="submit" id="boton_enviar" name="enviar" value="calcular" /></table>
</form>
</body>
</html>
Espero no haberme equivocado en como guardo los valores de los campos validados por los checkbox. Y pequeño detalle.... me faltaría saber como es que puedo ver la suma de todos los verificados. Alguna idea salvadora? Muchísimas gracias de antemano.
  #2 (permalink)  
Antiguo 20/05/2014, 18:06
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: suma por verificacion

¿Y cuáles son los valores verificados que quieres sumar?
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 20/05/2014, 18:23
Avatar de asus090102  
Fecha de Ingreso: mayo-2012
Ubicación: Ensenada- Buenos Aires
Mensajes: 67
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: suma por verificacion

Hola, los que trae la fila valor, toma como ejemplo que al enviar esa consulta me trae un listado de 10 registros, con un mismo nombre, apellido, 10 destinos diferentes y por lo tanto 10 valores diferentes. Lo que quisiera es elegir algunos destinos y sumar los campos valor que traen esos registros.
Ejemplo:

ID________NOMBRE__________APELLIDO__________DESTIN O____________VALOR

1__________PEPE______________PEPIN____________DEST INO_A __________10__________(v)
2__________PEPE______________PEPIN____________DEST INO_A __________10
3__________PEPE______________PEPIN____________DEST INO_A __________10__________(v)
4__________PEPE______________PEPIN____________DEST INO_B __________20__________(v)
5__________PEPE______________PEPIN____________DEST INO_A __________10
6__________PEPE______________PEPIN____________DEST INO_C __________30
7__________PEPE______________PEPIN____________DEST INO_C __________30
8__________PEPE______________PEPIN____________DEST INO_C __________30
9__________PEPE______________PEPIN____________DEST INO_A __________10__________(v)
10_________PEPE______________PEPIN____________DEST INO_D __________40

<BOTON>

Se entiende? Sino modifico el código para que se entienda mejor. Gracias por responder.

Última edición por asus090102; 20/05/2014 a las 18:33
  #4 (permalink)  
Antiguo 20/05/2014, 18:35
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: suma por verificacion

Si entendí bien, quieres que se sumen los valores de los checkbox marcados ya que cada uno de ellos contiene un resultado de $fila["valor"]; si es así, cuando recibas los datos por POST, toma el array de checkbox y suma sus valores con la función array_sum.

Código PHP:
Ver original
  1. array_sum($_POST['checkbox']);

Por cierto, es en el nombre del elemento en donde debes de colocar los corchetes [], no en el ID y tampoco debe haber más de un elemento con el mismo ID. Por el contrario, si solo quieres sumar los valores que trae la consulta, como estás imprimiéndolos con un bucle while, utiliza una variable acumuladora y añade los valores encontrados en cada iteración.

Código PHP:
Ver original
  1. $suma = 0;
  2. while ($fila=  mysql_fetch_array($rst_ordenes)){
  3.     $suma += $fila['valor'];
  4.     //El resto del código
  5. }

Si no es lo que estás buscando hacer, te voy a pedir por favor que seas más explícito y puntual para poder ayudarte.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 20/05/2014, 18:42
Avatar de asus090102  
Fecha de Ingreso: mayo-2012
Ubicación: Ensenada- Buenos Aires
Mensajes: 67
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: suma por verificacion

Muchísimas gracias , perfecto. Es increíble lo que se puede aprender en este foro gracias la gente como vos que colabora de forma tan clara. Muchas gracias.

Etiquetas: fecha, html, mysql, registro, select, sql, suma, verificacion
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:34.