PHP - Problema con suma

 
Vista:

Problema con suma

Publicado por ADRIAN (6 intervenciones) el 24/05/2007 00:00:14
Hola a todos, espero me puedan ayudar, tengo el siguiente codigo para hacer un comparativo de mes 2007 vs 2006, me pone el total del 2007 pero el del 2006 me lo pone en ceros, espero me puedan indicar en que estoy mal, gracias.

do {
if ($nomcte$row_cliente['NOMCL'])
{
$costo_compara=0;
do { $row_compara['ncli'];
$row_compara['fchfac'];
$row_compara['tarifa'];
$costo_compara=$costo_compara+$row_compara['tarifa'];
} while ($row_compara = mysql_fetch_assoc($compara));
echo $row_cliente['NOMCL'];
echo "$".number_format($costo_compara,"2",".",",")
} $nomcte=$row_cliente['NOMCL'];
} while ($row_cliente = mysql_fetch_assoc($cliente));
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema con suma

Publicado por jaba2007sv (3 intervenciones) el 24/05/2007 02:14:43
Y el query?, la consulta donde esta?, podria ser que en la consulta SQL lo esta haciendo mal, la relacion que ha hecho en la consulta no funciona, deberia de poner el query tambien por que en ese codigo, se ve como que estan por separados pudiendo hacer desde el query dos consultas a la vez de pendiento de los parametros, en este caso por el mes, un pequeño ejemplo:

Tengo la tabla que tiene las compras del año 2007 y otra que tiene las compras del año 2006 y tengo que comparar las compras entre los meses del los dos años. Entonces, la tabla podria ser de esta manera:

nombre de la tabla: COMP2006
id int(11)
mes varchar(20)
compras decimal(6,2)
año int(4)

nombre de la tabla: COMP2007
id int(11)
mes varchar(20)
compras decimal(6,2)
año int(4)

entonces la consulta seria:

$sql=mysql_query("SELECT comp2006.mes,comp2007.mes FROM comp2006,comp2007 WHERE comp2006.mes=comp2007.mes");
echo"
<table border=1>
";
while($row=mysql_fetch_row($sql))
{
echo"<tr><td>".$row[0]."</td>";
echo"<td>".$row[1]."</td></tr>";
}
echo"
</table>
";

Esto suponiendo que esta en dos tablas diferentes de lo contrario si estan dentro de una misma tabla, en tonces hay que modificar la tabla para al momento de agregar datos puedan hacer dos consultas a la misma base y ala hora de ordenar se ordene por un campo indice, ejemplo:

nombre de la tabla: COMPRAS
id int(11)
idmes int(2) // este es el campo clave para ordenar los datos
mes varchar(20)
compras decimal(6,2)
año int(4)

a la hora de ingresar datos si se ingresa enero, por ejemplo su idmes sera 01, febrero, sera 02 y asi a la hora de hacer las dos consultas se podran listar en dos celdas diferentes dentro de una tabla pero ordenadas por el IDMES para que salga bien todo.

Espero te ayude.
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

RE:Problema con suma

Publicado por ADRIAN (6 intervenciones) el 24/05/2007 16:26:22
Estas son las consultas que hago:

mysql_select_db($database_estadistico, $estadistico);
$query_compara = sprintf("SELECT * FROM mofacd INNER JOIN clfil ON clfil.NCL=mofacd.ncli WHERE fchfac BETWEEN '2007/01/01' AND '2007/01/31'", $colname_compara);
$compara = mysql_query($query_compara, $estadistico) or die(mysql_error());
$row_compara = mysql_fetch_assoc($compara);
$totalRows_compara = mysql_num_rows($compara);

mysql_select_db($database_estadistico, $estadistico);
$query_compar = sprintf("SELECT * FROM mofacd WHERE fchfac BETWEEN '2006/01/01' AND '2006/01/31'", $colname_compar);
$compar = mysql_query($query_compar, $estadistico) or die(mysql_error());
$row_compar = mysql_fetch_assoc($compar);
$totalRows_compar = mysql_num_rows($compar);
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

RE:Problema con suma

Publicado por ADRIAN (6 intervenciones) el 24/05/2007 23:04:09
Perdon me falto explicar que lo que quiero es que se genere el comparativo por cada cliente hacia abajo y que lo que me pone es el comparativo del primer cliente y el de los otros clientes me lo pone en ceros.

Gracias por la ayuda.
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