Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/04/2010, 10:06
jen26
 
Fecha de Ingreso: marzo-2010
Mensajes: 152
Antigüedad: 14 años, 7 meses
Puntos: 1
Cuando el año es diferente toma un nuevo saldo

Hola amigos, ya he tenido varios problemitas con esto, y cuando crei poder resolverlos pacata no, todavia me presenta un error y de verdad que por mi solita he buscado la manera de resolverlo y nada, coloque la consulta de mi base de datos en el foro de mysql para ver si alli se resuelve pero no, creo que ya esto es un problema que no se como resolverlo desde php, resulta que le hago una consulta a mi base de datos con php y me genera algo asi:


__________________________________________________ _________|
AÑO |MES |Nº DOC |DEBE |HABER |SALDO |
______|_____ |_______|_______|________|________|
2009 |11 | 2 | 6000| 6000| 0|
______|_____ |_______|_______|________|________|
2009 |12 | 1 | 8000| 0| 8000|
______|_____ |_______|_______|________|________|
2009 |TOTAL | 3 | 14000| 6000| 8000|
______|______|_______|_______|________|________|
2010 |1 | 2 | 11000| 0| 11000|
______|______|_______|_______|________|________|
2010 |TOTAL | 2 | 11000| 0| 11000|
______|______|_______|_______|________|________|

ahora bien coloque en rojo lo que esta malo, ya que enero debe tener el saldo que trae ese cliente del año anterior, y eso es lo que me a sacado canas verdesssssssssss porque no lo consigo hacerr hayyyyyyy voy a colocar el codigo a ver que me dicen ustedes que tengo malo


porrrfisssss ayudaaaaaaaaaaaaaaaa
Código PHP:
Ver original
  1. $cSql=mysql_query("SELECT YEAR(FECHA) AS ANO, MONTH(FECHA) AS MES, COUNT(*) AS MOVIMIENTOS, SUM(IF(CXC= 1,NETO,0))
  2. AS DEBE, SUM(IF(CXC=-1,NETO,0)) AS HABER, SUM(IF(CXC= 1,NETO,0))-SUM(IF(CXC=-1,NETO,0)) AS SALDO
  3. FROM CLIENTE WHERE CODIGO='0000000001' GROUP BY YEAR(FECHA),MONTH(FECHA)
  4. UNION ALL
  5. SELECT YEAR(FECHA) AS ANO, 'Total' AS MES, COUNT(*) AS MOVIMIENTOS, SUM(IF(CXC= 1,NETO,0))
  6. AS DEBE, SUM(IF(CXC=-1,NETO,0)) AS HABER, SUM(IF(CXC= 1,NETO,0))-SUM(IF(CXC=-1,NETO,0)) AS SALDO
  7. FROM CLIENTE WHERE CODIGO='0000000001' GROUP BY YEAR(FECHA) ORDER BY ANO, MES")
  8.  
  9. echo "<table width=150 border=1 align='center' bordercolor='#000000'>";
  10.      echo "<tr>";
  11.      echo "<td colspan=26 class=Estilo2>A&ntilde;o</td>";
  12.      echo "<td colspan=38 class=Estilo2>Mes</td>";
  13.      echo "<td colspan=30 class=Estilo2>Nº Docs</td>";
  14.      echo "<td colspan=40 class=Estilo2>Debe</td>";
  15.      echo "<td colspan=40 class=Estilo2>Haber</td>";
  16.      echo "<td colspan=40 class=Estilo2>Saldo</td>";
  17.      echo "</tr>";
  18.      
  19.     while ($row=mysql_fetch_array($cSql)) {
  20.     $mes=$row["MES"];
  21. if ($row["MES"]=='Total') {
  22.     echo "<tr  bgcolor=#cccccc>";
  23.     $debe+=$row["DEBE"];
  24.     $haber+=$row["HABER"];
  25.     $saldo+=$row["SALDO"];
  26.     $cuantos+=$row["CUANTOS"];
  27.     echo "<td colspan=26 class=Estilo2>".$row["ANO"]."</td>";
  28.     echo "<td colspan=38 class=Estilo2>".$mes."</td>";
  29.     echo "<td colspan=30 class=Estilo2 align='right'>".$row["CUANTOS"]."</td>";
  30.     echo "<td colspan=40 class=Estilo3 align='right'>".number_format($row["DEBE"], 2, ",", ".")."</td>";
  31.     echo "<td colspan=40 class=Estilo4 align='right'>".number_format($row["HABER"], 2, ",", ".")."</td>";
  32.     if ($row["SALDO"]==0){
  33.     echo "<td colspan=40 class=Estilo4 align='right'>".number_format($row["SALDO"], 2, ",", ".")."</td>";
  34.     }else {
  35.     echo "<td colspan=40 class=Estilo3 align='right'>".number_format($row["SALDO"], 2, ",", ".")."</td>";
  36.     }
  37.     echo "</tr>";
  38.     }//fin del if
  39.     else {
  40.     echo "<tr>";
  41.     echo "<td colspan=26 class=Estilo1>".$row["ANO"]."</td>";
  42.     echo "<td colspan=38 class=Estilo1>".$mes."</td>";
  43.     echo "<td colspan=30 class=Estilo1 align='right'>".$row["CUANTOS"]."</td>";
  44.     echo "<td colspan=40 class=Estilo3 align='right'>".number_format($row["DEBE"], 2, ",", ".")."</td>";
  45.     echo "<td colspan=40 class=Estilo4 align='right'>".number_format($row["HABER"], 2, ",", ".")."</td>";
  46.     if ($row["SALDO"]==0){
  47.     echo "<td colspan=40 class=Estilo4 align='right'>".number_format($row["SALDO"], 2, ",", ".")."</td>";
  48.     }else {
  49.     echo "<td colspan=40 class=Estilo3 align='right'>".number_format($row["SALDO"], 2, ",", ".")."</td>";
  50.     }
  51.     echo "</tr>";
  52.     }//fin del else
  53.     }//fin del while
  54.     echo "</table>";


ayudaaaaaaaaaaaaaaaaaaaaaaa