Foros del Web » Programando para Internet » PHP »

sumar registros iguales de un mismo campo

Estas en el tema de sumar registros iguales de un mismo campo en el foro de PHP en Foros del Web. Hola a todos. quisiera que me ayudaran con un problema tengo una tabla en mi base de datos llamada inventario la cual tiene estos campos ...
  #1 (permalink)  
Antiguo 16/05/2011, 11:24
 
Fecha de Ingreso: abril-2011
Ubicación: parral
Mensajes: 16
Antigüedad: 13 años
Puntos: 0
Pregunta sumar registros iguales de un mismo campo

Hola a todos.
quisiera que me ayudaran con un problema tengo una tabla en mi base de datos llamada inventario la cual tiene estos campos

id
id_producto
nombre
dia
cantidad

En mi codigo php tengo una tabla para buscar el producto y y tengo otro campo para mostrar un total.
quiero que cuando se realize la busqueda me sume la cantidad de el producto que se busco como le hago si me pueden ayudar.
Este es el codigo que utilizo, la busqueda si me la hace bien el problema es la suma.

Código PHP:
<?php
require "inicio.php";
?>
<html>
<head>
<style type="text/css">
.style1 {
    text-align: center;
}
</style>
</head>
<?php
error_reporting
(0);
require 
"conexion.php";
$buscar2=$_POST['nom'];
if (
$buscar1 == ""){
$cadena="select * from inventario_frutas_verduras where nombre='$buscar2'";
$resultado=mysql_query($cadena);
@
$b_cla_inventario=mysql_result($resultado,0,0);
@
$b_id=mysql_result($resultado,0,1);
@
$b_nombre=mysql_result($resultado,0,2);
@
$b_dia=mysql_result($resultado,0,3);
@
$b_cantidad=mysql_result($resultado,0,4);
!!
Aqui iria la sentencia para sumar los registros iguales de el campo cantidad.!!!
}
?>
<body>
<form action="" method="post" name="form1">
<table bgcolor=#ddd9d3 border="1" align="center">
<tr>
<td class="style1" bgcolor=#08088A  colspan=2 >Calcular Inventario</td></tr>
<tr>
<td  bgcolor=#ddd9d3>Nombre</td>
<td  bgcolor=#ddd9d3><input name="nom" type="text" id="nom" size="30" value="<?php echo $b_nombre;?>"></td>
</tr>
<tr>
<td  bgcolor=#ddd9d3>Cantidad Total</td>
<td  bgcolor=#ddd9d3><input name="cant_total" type="text" id="cant_total" size="30" value="<?php echo $total;?>"></td>
</tr>
<tr>
<td class="style1" bgcolor=#ddd9d3><input name="guar" type="submit" value="Guardar" id="guar"></td>
</tr>

</table>
</form>
</body>
</html>
<?php
require "fin.php";
?>
  #2 (permalink)  
Antiguo 16/05/2011, 12:05
Avatar de jenusys  
Fecha de Ingreso: diciembre-2008
Ubicación: Ahí mismo.
Mensajes: 216
Antigüedad: 15 años, 4 meses
Puntos: 11
Respuesta: sumar registros iguales de un mismo campo

//YO LO HARÍA MAS O MENOS ASÍ:

//En primer lugar el campo cantidad deberá estar en Entero (INT - BIGINT).

//Creas una variable que va a almacenar el resultado de cada iteración.

$total = "0";

//Y cada que pases la iteración dentro de un "while" sumas las cantidades dentro de la variable "TOTAL".

$cadena="select * from inventario_frutas_verduras where nombre= ".$buscar2;
while ($row=mysql_fetch_array($cadena))
{
$total = $ + $row["cantidad"];
echo $total;
}
  #3 (permalink)  
Antiguo 16/05/2011, 12:12
 
Fecha de Ingreso: abril-2011
Ubicación: parral
Mensajes: 16
Antigüedad: 13 años
Puntos: 0
Respuesta: sumar registros iguales de un mismo campo

me sale error en esta linea
$total = $ + $row["cantidad"];
no tiiene valor $ me prodrias ayudar
  #4 (permalink)  
Antiguo 16/05/2011, 12:14
Avatar de p414  
Fecha de Ingreso: agosto-2009
Ubicación: casi casi casi... a un lado de la cuna...
Mensajes: 575
Antigüedad: 14 años, 8 meses
Puntos: 44
Respuesta: sumar registros iguales de un mismo campo

antes ya han preguntado lo mismo que tu (o eso creo)

checa este link
  #5 (permalink)  
Antiguo 16/05/2011, 12:14
Avatar de p414  
Fecha de Ingreso: agosto-2009
Ubicación: casi casi casi... a un lado de la cuna...
Mensajes: 575
Antigüedad: 14 años, 8 meses
Puntos: 44
Respuesta: sumar registros iguales de un mismo campo

es más facil si lo traes ya desd mysql y no si lo haces en php
  #6 (permalink)  
Antiguo 16/05/2011, 12:18
Avatar de jenusys  
Fecha de Ingreso: diciembre-2008
Ubicación: Ahí mismo.
Mensajes: 216
Antigüedad: 15 años, 4 meses
Puntos: 11
Respuesta: sumar registros iguales de un mismo campo

Tenés toda la razón... metí la pata y me faltó lo que aparece en rojo:

$cadena="select * from inventario_frutas_verduras where nombre= ".$buscar2;
while ($row=mysql_fetch_array($cadena))
{
$total = $total + $row["cantidad"];
echo $total;
}
  #7 (permalink)  
Antiguo 16/05/2011, 12:32
 
Fecha de Ingreso: abril-2011
Ubicación: parral
Mensajes: 16
Antigüedad: 13 años
Puntos: 0
Respuesta: sumar registros iguales de un mismo campo

hey jenusys pongo todo asi como me dices y no me jala mira:
Código PHP:
Ver original
  1. <?php
  2. require "inicio.php";
  3. ?>
  4. <html>
  5. <head>
  6. <style type="text/css">
  7. .style1 {
  8.     text-align: center;
  9. }
  10. </style>
  11. </head>
  12. <?php
  13. require "conexion.php";
  14. $buscar2=$_POST['nom'];
  15. if ($buscar1 == ""){
  16. $cadena="select * from inventario_frutas_verduras where nombre='$buscar2'";
  17. $resultado=mysql_query($cadena);
  18. @$b_cla_inventario=mysql_result($resultado,0,0);
  19. @$b_id=mysql_result($resultado,0,1);
  20. @$b_nombre=mysql_result($resultado,0,2);
  21. @$b_dia=mysql_result($resultado,0,3);
  22. @$b_cantidad=mysql_result($resultado,0,4);
  23. $cadena="select * from inventario_frutas_verduras where nombre= ".$buscar2;
  24. while ($row=mysql_fetch_array($cadena))
  25. {
  26. $total = $total + $row["cantidad"];
  27. }
  28. }
  29. ?>
  30. <body>
  31. <form action="" method="post" name="form1">
  32. <table bgcolor=#ddd9d3 border="1" align="center">
  33. <tr>
  34. <td class="style1" bgcolor=#08088A  colspan=2 >Calcular Inventario</td></tr>
  35. <tr>
  36. <td  bgcolor=#ddd9d3>Nombre</td>
  37. <td  bgcolor=#ddd9d3><input name="nom" type="text" id="nom" size="30" value="<?php echo $b_nombre;?>"></td>
  38. </tr>
  39. <tr>
  40. <td  bgcolor=#ddd9d3>Cantidad Total</td>
  41. <td  bgcolor=#ddd9d3><input name="cant_total" type="text" id="cant_total" size="30" value="<?php echo $total;?>"></td>
  42. </tr>
  43. <tr>
  44. <td class="style1" bgcolor=#ddd9d3><input name="guar" type="submit" value="Guardar" id="guar"></td>
  45. </tr>
  46.  
  47. </table>
  48. </form>
  49. </body>
  50. </html>
  51. <?php
  52. require "fin.php";
  53. ?>
  54.  
  55. El total=0 no se lo puse porque en el edit me sale el puro cero
  56. el problema es que cuando busco un producto no me sale nada en el segundo edit de mi tabla
  57. Lo que quiero es que cuando le busque un producto y le de enter me ponga en el segundo edit el total de lo que busque haber si me puedes ayudar
  #8 (permalink)  
Antiguo 16/05/2011, 13:05
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: sumar registros iguales de un mismo campo

Quita la linea 24, y la 25 cámbiala por esto:

while ($row=mysql_fetch_array($resultado))
  #9 (permalink)  
Antiguo 16/05/2011, 14:04
 
Fecha de Ingreso: abril-2011
Ubicación: parral
Mensajes: 16
Antigüedad: 13 años
Puntos: 0
Respuesta: sumar registros iguales de un mismo campo

ya lo cambie pero no me jala no me suma los registros me pone la cantidad que tiene ese registro
en la tabla por ejemplo tengo
id id_producto nombre dia cantidad
1 2 filete lunes 10
2 5 filete martes 20

quiero que me calcule la cantidad total que tengo hasta el momento caundo lo busque en la tabla y me ponga el resultado en el segundo edit
  #10 (permalink)  
Antiguo 16/05/2011, 14:38
Avatar de p414  
Fecha de Ingreso: agosto-2009
Ubicación: casi casi casi... a un lado de la cuna...
Mensajes: 575
Antigüedad: 14 años, 8 meses
Puntos: 44
Respuesta: sumar registros iguales de un mismo campo

fijate en el link que te deje más arriba
  #11 (permalink)  
Antiguo 16/05/2011, 14:51
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: sumar registros iguales de un mismo campo

Pega el código otra vez con los cambios que te he dicho. Así te debería funcionar.

De todas formas, como te ha dicho p414 efectivamente es más fácil.

Etiquetas: iguales, registros, campos
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 11:01.