Foros del Web » Programando para Internet » PHP »

Restas y sumas ...

Estas en el tema de Restas y sumas ... en el foro de PHP en Foros del Web. Mi problema es que quiero restar una celda llamada "debe" con otra llamada "haber" de la base de datos..., y tengo el siguiente codigo: Código ...
  #1 (permalink)  
Antiguo 23/08/2006, 12:57
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
Puntos: 0
Restas y sumas ...

Mi problema es que quiero restar una celda llamada "debe" con otra llamada "haber" de la base de datos..., y tengo el siguiente codigo:

Código PHP:
<?
//Mostramos los registros
while ($row=mysql_fetch_array($result))
{
$saldo $row[debe] - $row[haber];
echo 
'<tr><td>'.$row["fecha"].'</td>'
echo 
'<td>'.$row["concepto"].'</td>'
echo 
'<td>'.$row["estado"].'</td>'
echo 
'<td>'.$row["debe"].'</td>';
echo 
'<td>'.$row["haber"].'</td>';
echo 
'<td>'.$saldo.'</td></tr>';  
}

?>
Pero claro la resta me la hace perfecta, pero al haber varios registros quiero que el saldo del 1er resultado se la sume al siguiente resultado...

Eso como podría añadirselo a este codigo...?


La estructura de la base de datos es la siguiente:

Código:
CREATE TABLE IF NOT EXISTS `cuentas` (
  `id` int(3) NOT NULL default '0',
  `fecha` date NOT NULL default '0000-00-00',
  `concepto` longtext NOT NULL,
  `estado` varchar(10) NOT NULL default '',
  `debe` int(10) NOT NULL default '0',
  `haber` int(10) NOT NULL default '0',
  PRIMARY KEY  (`fecha`)
) TYPE=MyISAM;
  #2 (permalink)  
Antiguo 23/08/2006, 13:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Y por qué no usas SQL para el proceso?

En SQL puedes operar tambien . .hacer sumatorios, promédios .. etc.

Cita:
SELECT *,(debe-haber) as sub-total, sum((debe-haber)) as total FORM tabla
Bajo el "sub-total" o "total" como "alias" que se crean tienes los resultados de tus operaciones.

Si lo haces en PHP (intenta sacar partido al lenguaje SQL que para eso está):

Código PHP:
$saldo=$saldo + ($row['debe'] - $row['haber']); 
ó en forma resumida (creo que ...):
Código PHP:
$saldo += $row[debe] - $row[haber]; 
Esto sería un "acomulador" (técnica que no es de "PHP" en sí sino de programación en general..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 23/08/2006, 13:38
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
Puntos: 0
De acuerdo Perfecto

perfecto... muchisimas gracias cluster
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:08.