PHP - Problema con variable

   
Vista:

Problema con variable

Publicado por Carlos Andres (8 intervenciones) el 12/12/2013 04:03:47
buenas noches estoy haciendo una aplicación para la universidad y en un modulo estoy haciendo una liquidación de nomina pero me debe mostrar el numero de viajes realizados por cada conductor sin embargo cuando el conductor no realizo ningún viaje en el mes me arroja en blanco la consulta lo que estoy tratando de hacer es que al realizar una consulta me de un valor de la variable si es mayor que cero de lo contrario la variable quede con el valor 0, no se si me hice entender..... Gracias

coloco el código muchas gracias



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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
<!doctype html>
 
<html>
<head>
    <meta charset="utf-8">
    <style>
        table { background:#D3E4E5;
         border:1px solid gray;
         border-collapse:collapse;
         color:#fff;
         font:normal 12px verdana, arial, helvetica, sans-serif;
        }
        caption { border:1px solid #5C443A;
         color:#5C443A;
         font-weight:bold;
         letter-spacing:20px;
         padding:6px 4px 8px 0px;
         text-align:center;
         text-transform:uppercase;
        }
        td, th { color:#363636;
         padding:.4em;
        }
        tr { border:1px dotted gray;
        }
        thead th, tfoot th { background:#5C443A;
         color:#FFFFFF;
         padding:3px 10px 3px 10px;
         text-align:left;
         text-transform:uppercase;
        }
        tbody td a { color:#363636;
         text-decoration:none;
        }
        tbody td a:visited { color:gray;
         text-decoration:line-through;
        }
        tbody td a:hover { text-decoration:underline;
        }
        tbody th a { color:#363636;
         font-weight:normal;
         text-decoration:none;
        }
        tbody th a:hover { color:#363636;
        }
        tbody th, tbody td { text-align:left;
         vertical-align:top;
        }
        tfoot td { background:#5C443A;
         color:#FFFFFF;
         padding-top:3px;
        }
        .odd { background:#fff;
        }
        tbody tr:hover { background:#99BCBF;
         border:1px solid #03476F;
         color:#000000;
        }
    </style>
</head>
<body>
<?php
require("conexion.php");
 
          $Base      = "SELECT Valor FROM base_calculos WHERE  Nombre_Base = 'Salario_Minimo'" ;
          $query_cons_ent2 = mysql_query($Base);
          while ($row=mysql_fetch_row($query_cons_ent2)){
          $Salario_Minimo = $row[0];
          }
 
          $Base      = "SELECT Valor FROM base_calculos WHERE  Nombre_Base = 'Salud'" ;
          $query_cons_ent2 = mysql_query($Base);
          while ($row=mysql_fetch_row($query_cons_ent2)){
          $Base_Salud = $row[0];
          }
 
          $Base      = "SELECT Valor FROM base_calculos WHERE  Nombre_Base = 'Pension'" ;
          $query_cons_ent2 = mysql_query($Base);
          while ($row=mysql_fetch_row($query_cons_ent2)){
          $Base_Pension = $row[0];
          }
 
          $Base      = "SELECT Valor FROM base_calculos WHERE  Nombre_Base = 'Prima'" ;
          $query_cons_ent2 = mysql_query($Base);
          while ($row=mysql_fetch_row($query_cons_ent2)){
          $Base_Prima = $row[0];
          }
 
          $Base      = "SELECT Valor FROM base_calculos WHERE  Nombre_Base = 'Cesantias'" ;
          $query_cons_ent2 = mysql_query($Base);
          while ($row=mysql_fetch_row($query_cons_ent2)){
          $Base_Cesantias = $row[0];
          }
 
          $Base      = "SELECT Valor FROM base_calculos WHERE  Nombre_Base = 'Interes_Cesantias'" ;
          $query_cons_ent2 = mysql_query($Base);
          while ($row=mysql_fetch_row($query_cons_ent2)){
          $Interes_Cesantias = $row[0];
          }
 
          $Base      = "SELECT Valor FROM base_calculos WHERE  Nombre_Base = 'Vacaciones'" ;
          $query_cons_ent2 = mysql_query($Base);
          while ($row=mysql_fetch_row($query_cons_ent2)){
          $Vacaciones = $row[0];
          }
 
          $str_Conductor  =trim($_POST['Conductor']);
          $str_Fecha_Ini  =trim($_POST['Fecha_Inicio']);
          $str_Fecha_Fin  =trim($_POST['Fecha_Fin']);
 
          $Base      = "SELECT Count(historial.Id_Conductor)
                              From historial Inner Join
                              conductor On historial.Id_Conductor = conductor.Id_conductor
                              Where historial.Fecha_Salida >= '$str_Fecha_Ini'  
                              And historial.Fecha_Salida <=   '$str_Fecha_Fin'
                              Group By historial.Id_Conductor
                             Having historial.Id_Conductor = '$str_Conductor'" ; ;
 
          $query_cons_ent2 = mysql_query($Base);
          while ($row=mysql_fetch_row($query_cons_ent2)){
          $DiasLab = $row[0];
 //// aca es donde tengo el error ='/img/emoticons/angry.gif' width='22' height='22' border='0' />='/img/emoticons/angry.gif' width='22' height='22' border='0' />='/img/emoticons/angry.gif' width='22' height='22' border='0' />
          if($DiasLab != 0){
          echo "X es mayor que Y";
          $Viajes  = $row[0];
          }
          else{
          echo "parece  que Y es mayor que X";
          $Viajes  =   0;
          }
          $dias           =(strtotime($str_Fecha_Ini)-strtotime($str_Fecha_Fin))/86400;
          $dias           =abs($dias); $dias = floor($dias);
 
 
          $cons_ent1      = "Select (conductor.Sueldo),
                             CONCAT(conductor.Nombre_Conductor,' ', conductor.Apellido_Conductor),conductor.Num_Documento
                             From conductor
                             where Id_Conductor = '$str_Conductor'" ;
          $query_cons_ent=mysql_query($cons_ent1);
          while ($row=mysql_fetch_row($query_cons_ent)){
 
          //Definicion de variables para calculo  
 
          $Viajes = $Viajes;
          $Valor_Deve       = number_format($row[0], 0, ",", ".");
          $Valor_Dia        = number_format(($row[0]/30) * $dias, 0, ",", ".");
          $Salud            = number_format(($Salario_Minimo * ($Base_Salud/100)/30)*$dias, 0, ",", ".");
          $Pension          = number_format(($Salario_Minimo * ($Base_Pension/100)/30)*$dias, 0, ",", ".");
          $Arl              = number_format(($Salario_Minimo * (4/100)/30)*$dias, 0, ",", ".");
          $Total_Descuentos = number_format(($Salario_Minimo * (($Base_Salud/100)/30)*$dias)+($Salario_Minimo * (($Base_Pension/100)/30)*$dias)+($Salario_Minimo * ((4/100)/30)*$dias), 0, ",", ".");
          $Valor_Total      =  number_format((($row[0]/30) * $dias) - (($Salario_Minimo * (($Base_Salud/100)/30)*$dias)+($Salario_Minimo * (($Base_Pension/100)/30)*$dias)+($Salario_Minimo * ((4/100)/30)*$dias)), 0, ",", ".");
 
 
    echo"<table width=100% >";
          echo"<tr bgcolor='#fff'>";
                echo"  <td width=20%><center>Fecha Inicio</center></td>";
                echo"  <td width=25%><center>Fecha Fin</center></td>";
                echo" <td width=25%><center>Dias</center></td>";
                echo"  <td width=25%><center>Salario Base</center></td>";
          echo"</tr> ";
          echo"<tr>";
                echo "<td><center>$str_Fecha_Ini</center></td>";
                echo "<td><center>$str_Fecha_Fin</center></td>";
                echo "<td><center>$dias</center></td>";
                echo "<td><center>$Valor_Deve</center></td>";
          echo "</tr>";
    echo"</table>";
          echo"<br>";
          echo"<h2>Detalle</h2>";
    //Detalle del sueldo
    echo"<table width=100% border='0'>";
          echo"<tr bgcolor='#fff'>";
                echo"<td width=50%><center>Conductor</center></td>";
                echo"<td width=12%><center>Documento</center></td>";
                echo"<td width=18%><center>N° Viajes entre fechas</center></td>";
                echo"<td width=20%><center>Valor a Pagar</center></td>";
          echo"</tr> ";
          echo"<tr>";
                echo "<td><center>$row[1]</center></td>";
              	echo "<td><center>$row[2]</center></td>";
              	echo "<td><center>$Viajes</td>";
              	echo "<td><center>$ $Valor_Dia</center></td>";
          echo "</tr>";
      echo "</table>";
      //Descuentos del Trabajador
      echo "<h2>Descuentos</h2>";
      echo "<table width=100% border='1'>";
          echo "<tr bgcolor='#fff'>";
                echo "  <td width=50%><center></center></td>";
                echo "  <td width=10%><center></center></td>";
                echo "  <td width=20%><center>Salud</center></td>";
                echo "  <td><center>$ $Salud</td>";
          echo "</tr>";
          echo "<tr>";
                echo "  <td width=50%><center></center></td>";
                echo "  <td width=10%><center></center></td>";
                echo "  <td width=20%><center>Pensión</center></td>";
                echo "  <td><center>$ $Pension</center></td>";
          echo "</tr>";
          echo "<tr>";
                echo "  <td width=50%><center></center></td>";
                echo "  <td width=10%><center></center></td>";
                echo "  <td width=20%><center>Arl</center></td>";
                echo "  <td><center>$ $Arl</center></td>";
          echo "</tr>";
          echo "<tr>";
                echo "  <td width=50%><center></center></td>";
                echo "  <td width=10%><center></center></td>";
                echo "  <td width=25%><center>Total Descuentos</center></td>";
                echo "  <td><center>$ $Total_Descuentos</center></td>";
          echo "</tr>";
      //Total a Pagar al Trabajador
      echo"</table>";
        echo"<h2>Total a pagar</h2>";
      echo "<table width=100% border='0'>";
          echo "<tr bgcolor='#fff'>";
              echo "  <td width=50%><center></center></td>";
              echo "  <td width=10%><center></center></td>";
              echo "  <td width=20%><center>Total a Pagar</center></td>";
              echo "  <td><center>$ $Valor_Total</td>";
          echo"</tr>";
      echo "</table>";
 
        echo "<form name='pdf' method='post' action='pdf/generador.php'>";
        echo "<p class='login button'>";
        echo "<input type='hidden' name='nombre' value='$str_Conductor'/>";
        echo "<input type='hidden' name='direccion' value='$str_Fecha_Ini'/>";
        echo "<input type='hidden' name='tel' value='$str_Fecha_Fin'/>";
        echo "<input type='hidden' name='Valor_Deve' value='$Valor_Deve'/>";
        echo "<input type='hidden' name='Salud' value='$Salud'/>";
        echo "<input type='hidden' name='Pension' value='$Pension'/>";
        echo "<input type='hidden' name='Valor_Total' value='$Valor_Total'/>";
        echo "<input type='hidden' name='Salario' value='$Salario_Minimo '/>";
        echo "<input type='hidden' name='Base_Salud' value='  $Base_Salud '/>";
        echo "<input type='hidden' name='Base_Pension' value='  $Base_Pension '/>";
        echo "<input type='hidden' name='Base_Prima' value='  $Base_Prima'/>";
        echo "<input type='hidden' name='Base_Cesantias' value='  $Base_Cesantias'/>";
        echo "<input type='hidden' name='Interes_Cesantias' value=' $Interes_Cesantias'/>";
        echo "<input type='hidden' name='Vacaciones' value='$Vacaciones'/>";
        echo "<input type='hidden' name='dias' value='     $dias'/>";
        echo "<input type='hidden' name='Valor_Dia' value='$Valor_Dia'/>";
        echo "<input type='hidden' name='Arl' value='$Arl'/>";
        echo "<input type='hidden' name='Total_Descuentos' value='$Total_Descuentos'/>";
        echo "<input type='submit' value='Imprimir' />";
        echo "</form>";
 
 
}
 
      }
?>
 
 
</body>
</html>
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
Imágen de perfil de xve

Problema con variable

Publicado por xve (5525 intervenciones) el 12/12/2013 10:16:21
Hola Carlos, no entiendo muy bien porque tienes el problema... si coges el valor de $row[0], siempre sera un valor numérico, no? si no tiene resultado sera un 0.

Yo creo que lo tienes bien... cual es la linea que tendría que salir y no sale? puede ser que el error lo tengas mas abajo de la linea que nos has marcado?
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

Problema con variable

Publicado por Carlos Andres (8 intervenciones) el 12/12/2013 13:51:56
mira primero muchas gracias en responder, el error esta en que si me arroja valor cero no me aparece nada en la consulta ni el sueldo, ni las prestaciones, no me arroja ninguna de las variables en pocas palabras la pagina de resultado sale en blanco....

Mil Gracias
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
Imágen de perfil de xve

Problema con variable

Publicado por xve (5525 intervenciones) el 13/12/2013 07:14:30
Hola Carlos, despues de esta linea:
1
$query_cons_ent2 = mysql_query($Base);

Puedes poner:
1
print_r($query_cons_ent2);

haber que te devuelve? podría ser que la consulta no devuelve ningún resultado?
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

Problema con variable

Publicado por Elier (92 intervenciones) el 13/12/2013 16:19:30
Si no vas a devolver ningun dato de la tabla conductor, entonces el Join sobra. Tengo la duda de si Id_Conductor es numerico o texto, si es numerico entonces quitale las comillas

1
2
3
4
5
6
7
8
9
10
11
12
13
$Base = "SELECT Count(h.Id_Conductor) AS Cuenta
FROM historial AS h
WHERE ((h.Fecha_Salida>='$str_Fecha_Ini') AND (h.Fecha_Salida<='$tr_Fecha_Fin'))
GROUP BY h.Id_Conductor
HAVING (h.Id_Conductor='$str_Conductor')";
 
$query_cons_ent2 = mysql_query($Base);
 
$Viajes = 0;
if($row = mysql_fetch_object($query_cons_ent2))
{
   $Viajes = $row->Cuenta;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Problema con variable

Publicado por Carlos Andres (8 intervenciones) el 13/12/2013 17:12:01
De nuevo muchísimas gracias por su apoyo, mira xve al poner el print_r me arrojaba resource #15, no arrojaba nada la consulta, sin embargo probe la opcion que expuso Elier y sirvio de maravilla muchas gracias nuevamente por su apoyo... Gracia Nuevamente
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