PHP - sumar variables

 
Vista:
sin imagen de perfil

sumar variables

Publicado por daniel (1 intervención) el 18/04/2018 02:51:33
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<div class="col-lg-10">
  <h3 class="text-info text-center"><strong>PRESUPUESTO DE INGRESOS ANUAL</strong></h3><hr>
  <div class="table-responsive">
    <table class="table table-bordered">
      <thead>
        <tr>
          <th class="text-center">Producto</th>
          <th class="text-center">Mensual</th>
          <th class="text-center">1 año</th>
          <th class="text-center">2 año</th>
          <th class="text-center">3 año</th>
          <th class="text-center">4 año</th>
          <th class="text-center">5 año</th>
        </tr>
      </thead>
      <tbody>
        <?php
      if(isset($_POST['checkbox4'])){
 
        $objConexion = conectaBD();
        $checkboxs4=$_POST['checkbox4'];//el $checkboxs4 trae 3 datos o bien pueden ser mas (1,2,3 que son a su vez llaves primarias)
        foreach ($checkboxs4 as $checkbox4) {
        $checkbox4;//en esta parte solo muestra por asi decirlo para que la consulta siguiente sea posible
 
 
        $sumatiempo21=0;
        $sumaprecio21=0;
        $sumaingreso=0;
        $sumaingersoano1=0;
        $sumaingersoano2=0;
        $sumaingersoano3=0;
        $sumaingersoano4=0;
        $sumaingersoano5=0;
        $sql="SELECT *from servicio,detalle,manoobra  where  servicio.IdSE = :codigo and detalle.ServicioId = servicio.IdSE and detalle.ManoOid = manoobra.IdMO";//cada vez que el id sea igual al que trae este a su vez se compara con otra tabla y trae los 16 datos de este id gracias a las relaciones que tiene,
        $resul=$objConexion->prepare($sql);
        $resul->bindParam(":codigo",$checkbox4);
        $resul->execute();
        $resultado=$resul->fetchAll();
        foreach ($resultado as $row) {
        $idmanoo21=$row['IdMO'];
        $descrimano2=$row['DescripcionMO'];//de este campo trae 16 datos
        $idservicio=$row['IdSE'];
        $descservicio2=$row['NombreSE'];
        $cantidservicio2=$row['CantSE'];
        $tiempomano2=$row['TiempoMO'];
 
    $totaltiempo12=$totalGO3*$tiempomano2;
 
    $contlimite4=count($descrimano2);
    for ($i=0; $i <$contlimite4 ; $i++) {
 
        $sumatiempo21+=$tiempomano2;//aqui suma un campo llamado tiempo 16 veces
        $sumaprecio21+=$totaltiempo12;//aqui suma el total del precio de cada uno de los 16 articulos 
 
      }
        if ($idmanoo21==9) {
         $sumaprecio21=$sumaprecio21+$pdia;
       }
        elseif ($idmanoo21!=9) {
          $totaltiempo12;
        }
 
   $totalci21=$total3/4;//COSTOS INDIRECTOS
   $totalcp21=$totalci21+$sumaprecio21;//COSTO DEL PRODUCTO
   $porcent21=($totalcp21/100)*30+$totalcp21;//PRECIO DE VENTA 30% DE UTILIDAD
 
   $precioingresos2=$porcent21*$cantidservicio2;
   $ingersoano1=$precioingresos2*12;
   $ingersoano2=($ingersoano1/100)*3+$ingersoano1;
   $ingersoano3=($ingersoano2/100)*3+$ingersoano2;
   $ingersoano4=($ingersoano3/100)*3+$ingersoano3;
   $ingersoano5=($ingersoano4/100)*3+$ingersoano4;
 
   $contlimite5=count($descservicio2);
 
 for ($i=0; $i < $contlimite5 ; $i++) {
      $sumaingreso+=$precioingresos2;//el caso es que quiero que sume estas variables segun el limite que en este caso son solo 3 como podria ser 2 o 5,
      $sumaingersoano1+=$ingersoano1;//pero gracias a que esta dentro del otro ciclo que suma los 16 datos no me suma de manera correcta.
      $sumaingersoano2+=$ingersoano2;
      $sumaingersoano3+=$ingersoano3;
      $sumaingersoano4+=$ingersoano4;
      $sumaingersoano5+=$ingersoano5;
 
 }
 
 
}
 
 
 
echo '<tr>
     <td>'.$descservicio2.'</td>
     <td>'.number_format($precioingresos2).'</td>
     <td>'.number_format($ingersoano1).'</td>
     <td>'.number_format($ingersoano2).'</td>
     <td>'.number_format($ingersoano3).'</td>
     <td>'.number_format($ingersoano4).'</td>
     <td>'.number_format($ingersoano5).'</td>
    </tr>';
 
 
}echo '<td><strong>TOTAL DE INGRESOS</strong></td>
     <td>'.number_format($sumaingreso).'</td>
     <td>'.number_format($sumaingersoano1).'</td>
     <td>'.number_format($sumaingersoano2).'</td>
     <td>'.number_format($sumaingersoano3).'</td>
     <td>'.number_format($sumaingersoano4).'</td>
     <td>'.number_format($sumaingersoano5).'</td>';
}
?>
      </tbody>
    </table>
  </div>
</div>
Sint-titulo

//el problema como se ve el la imagen es que la suma no se realizo ya que el ciclo se recorre 16 en vez de 3 y no puedo sacar la suma del ciclo por que necesito los datos que suma esos 16 datos.
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