Google
Web dns.bdat.net

[PHP-ES] Sumar algunos campos de varios registros y almacenar el total

Write haof XML files: Diego ( diego@insua.com.ar)
Fecha: mié 23 mar 2005 - 17:00:33 CET


Hola gente...

Me presento.. me llamo Diego, soy un principiante y tambien este es mi
primera post..

Resulta que tengo la siguiente tabla en MySQL:

| id | Col1 | Col2 | Col3 | Col4 | Col5 | Col6 | Total |

Y necesito sumar los campos de las columnas 2, 4 y 5 y almacenar el
resultado de cada registro en la columna Total.

Para sumar los registros y mostrar el resultado en el navegador estoy
utilizando el siguiente codigo:

echo "<table width='70%' border='1' cellspacing='2' cellpadding='2'>";
    echo
"<tr><td>id</td><td>Col2</td><td>Col4</td><td>Col5</td><td>Total</td></tr>";
//consulta los tipos de familia
    $consulta="SELECT *, Col2+Col4+Col5 AS total FROM tabla1";
    $resultado=mysql_query($consulta);

while ($columnas=mysql_fetch_array($resultado)) {
    extract ($columnas);
    echo "<tr><td>$id</td><td>$Col2</td><td align='right'>$Col4</td>
 <td align='right'>$Col5</td><td align='right'>$total</td></tr>";
 }

Con esto consigo que me muestre una tabla en el navegador con todos los
registros y las sumas como yo quiero en la columna Total (registro por
registro).

Mi problema es que no se como guardar los resultados de cada suma en la
columna Total de mi Tabla en la DB.
Intente colocando:

$actualizar="UDPADTE tabla1 SET Total=$total";
mysql_query($actualizar);

Pero con esto solo consigo que guarde en la columna Total de la Tabla de mi
DB el mismo valor en todos los registros, que es el valor de la suma del
ultimo registro, y no el valor que corresponde a cada suma.

¿Alguien me podria dar una idea de como hacerlo o donde encontrar la info
que necesito? (busque por todos lados pero no fui capaz de encontrar lo que
necesito)

Gracias a todos
Diego.

-- 
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Este archivo fue generado por hypermail 2.1.7 : sáb 18 mar 2006 - 18:24:09 CET