Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/06/2012, 09:53
Avatar de totti026
totti026
 
Fecha de Ingreso: junio-2011
Mensajes: 150
Antigüedad: 12 años, 10 meses
Puntos: 4
Pregunta Ocupar 2 consultas para un if

buen día, pues tengo esta tabla:

donde quiero sumar el iva...
para llenar la tabla estoy ocupando dos consultas, la primera es esta, y lo que me imprime esta en el rectángulo verde:
Código PHP:
Ver original
  1. $un = -1;
  2. $totiva = 0;
  3.  
  4.    $query="SELECT * FROM tabla1 WHERE id_proyecto='$proyecto1' order by etapa,semana,n_ac";
  5.    $result=mysql_query ($query, $conexion);  
  6.    
  7.    while ($row = mysql_fetch_array ($result))
  8.    {
  9.            
  10.        if($row['semana'] != $un)
  11.         {
  12.             if($un != -1)
  13.             {
  14.                 echo "<tr><td></td><td></td><td></td><td></td><td></td><td>Total IVA:</td><td></td><td>$".$totiva."</td></tr>";
  15.             }
  16.             $un = $row['semana'];
  17.             $totiva = $row['iva'];
  18.         }
  19.         else{
  20.             $totiva = $totiva + $row['iva'];
  21.         }
  22.        
  23.         print ("<TD >$row[a]</TD>");     
  24.         print ("<TD >$row[b]</TD>");
  25.         print ("<TD >$row[c]</TD>");     
  26.         print ("<TD >$row[d]</TD>");
  27.         .
  28.         .
  29.         .

y la segunda consulta es esta y esta debajo de la primera:
Código PHP:
Ver original
  1. $resultado5 = mysql_query("SELECT * FROM tabla2 WHERE id_proyecto='$proyecto1'  ORDER BY n_sol ASC");
  2.     if ($row5 = mysql_fetch_array($resultado5))
  3.     {
  4.         do
  5.        {
  6.         $six=$row['n_ac'];
  7.          $sum=$suma_comp1+$row5['importe'];
  8.          $suma2=$suma_comp2+$row5['iva'];
  9.          $suma3=$suma_comp3+$row5['total'];
  10.        }  
  11.     while ($row5 = mysql_fetch_array($resultado5));    
  12.     }
  13.  
  14.         print ("<TD >$row[a1]</TD>");    
  15.         print ("<TD >$row[b1]</TD>");
  16.         print ("<TD >$row[c1]</TD>");    
  17.         print ("<TD >$row[d1]</TD>");

En la primera consulta estoy ocupando este if:
Código PHP:
Ver original
  1. if($row['semana'] != $un)
  2.         {
  3.             if($un != -1)
  4.             {
  5.                 echo "<tr><td></td><td></td><td></td><td></td><td></td><td>Total IVA:</td><td></td><td>$".$totiva."</td></tr>";
  6.             }
  7.             $un = $row['semana'];
  8.             $totiva = $row['iva'];
  9.         }
  10.         else{
  11.             $totiva = $totiva + $row['iva'];
  12.         }

el cual me hace un corte por "Etapa" y me hace la suma del iva pero solo de la primera consulta...osea si la etapa es "1" me hace la suma, si es "2" me hace la suma de la etapa 2... y así sucesivamente.

en la consulta 2 la cual me imprime lo que esta en el rectángulo naranja pero como esta no la toma en cuenta el if de arriba pues no me suma el iva de esta...

Explico la tabla y la etapa 1:
Mi primer fila (rectangulo verde) tiene valor de 0.00 y los demas valores (rectangulo naranja) tambien tienen 0.00 excepto el ultimo que es 0.20
y en el corte donde dice "Total IVA:" como resultado me pone 0.00 porque el if que les comentaba solo esta en la primer consulta y ya no me suma los demas... y lo que quiero esque me sume todos y como resultado sea el "0.20"...

Espero explicarme...