PHP - codigo para realizar un cierre de nomina

 
Vista:
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

codigo para realizar un cierre de nomina

Publicado por zendi (1056 intervenciones) el 10/01/2018 00:17:53
Que tal a todos si alguien pudiera facilitar un ejemplo de un codigo para crear un cierre con dos tablas de parecida estructura. El asunto es que no me da tiempo de crearlo, he estado intentando hacerlo pero he fallado.

Tengo dos tablas

deuda (codigo_gasto, monto, nroapto, fecha, cedula, hora)

cierredeuda (codigo_gasto, monto, nroapto, fecha, cedula, hora)

La idea es totalizar el monto de la tabla deuda y grabarlos en cierradeuda, para luego devolver esos registros a la tabla deuda y dejarlos como registros definitivos.

este es el codigo pero no he hallado la manera.

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
<?php
   error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
   $connect = pg_connect("host=localhost port=5432 dbname=administra user=postgres password=Wrap*/1808");
   $borrar ="DELETE FROM cierredeuda";
   @pg_query($connect,$borrar);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Cierre</title>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      <script language="JavaScript" src="../tesis1/calendario.js"></script>
      <script language="JavaScript" src="../tesis1/overlib_mini.js"></script>
<!-- Este script permite Máscara de entrada de la fecha (en
./) -->
<SCRIPT type="text/javascript">
function alerta(){
	var V = true;
     if (V = true)
       {
          alert("En realidad desea hacer el Cierre Mensual.");
          return true;
       }
      else
	      return false;
}
var patron = new Array(2,2,4)
var patron2 = new Array(1,3,3,3,3)
function mascara(d,sep,pat,nums){
if(d.valant != d.value){
	val = d.value
	largo = val.length
	val = val.split(sep)
	val2 = ''
	for(r=0;r<val.length;r++){
		val2 += val[r]
	}
	if(nums){
		for(z=0;z<val2.length;z++){
		  if(isNaN(val2.charAt(z))){
			letra = new RegExp(val2.charAt(z),"g")
			val2 = val2.replace(letra,"")
		   }
		}
	}
	val = ''
	val3 = new Array()
	for(s=0; s<pat.length; s++){
		val3[s] = val2.substring(0,pat[s])
		val2 = val2.substr(pat[s])
	}
	for(q=0;q<val3.length; q++){
		if(q ==0){
			val = val3[q]
		}
		else{
			if(val3[q] != ""){
				val += sep + val3[q]
			}
		}
	}
	d.value = val
	d.valant = val
	}
}
</SCRIPT>
 
</head>
<style type="text/css">
  .sr {
    background-color: #FFFFCF;
    color: #000000;
    font-family: Arial;
    font-size: 12px;
  }
  input.color1 {background-color: #00CC99; font-weight: bold; font-size: 12px; color: white;}
 
</style>
<body>
   <div id="overDiv" style="position:absolute; visibility:hidden; z-index:1000;"></div>
<form  name="form1" action="cierredeuda.php" method="post">
<!--<table border="1" bordercolor="#00CC99" bgcolor="#99CC00" align="center"> 
     <tr class='sr'> 
     <th>Cédula
     <th>Fecha 
     <th>Nro Apto 
     <th>Deuda</tr> 
</table>
-->
<?php
echo"<table border='1' bordercolor='#00CC99' bgcolor='#99CC00' align='center'>
     <tr class='sr'> 
     <th>Cédula
     <th>Fecha 
     <th>Nro Apto 
     <th>Deuda";
    $resultado1 = "SELECT deuda.cedula,
						  deuda.fecha,
						  propietarios.nroapto,
						  SUM(monto) AS total 
				     FROM propietarios,deuda 
				    WHERE propietarios.nroapto = deuda.nroapto
				 GROUP BY propietarios.nroapto,deuda.cedula,deuda.fecha 
				 ORDER BY nroapto";
    $resultado = @pg_query($connect,$resultado1);
	      echo"<table border='1' bordercolor='#00CC99' bgcolor='#99CC00' align='center'>
		         </tr></table> ";
while ($seleccionado =@pg_fetch_array($resultado)):
		$cedula  = $seleccionado['cedula'];
		$fecha   = $seleccionado['fecha'];
		$nroapto = $seleccionado['nroapto'];
		$monto   = $seleccionado['total'];
		$anio = substr($fecha,0,4);
		$mes = substr($fecha,5,2);
		$dia = substr($fecha,8,2);
endwhile;
                  echo"</table><br>";
 
?>
<table><tr><td><input type="submit" class="color1" name="enviar" value="Enviar" Title="Cierre Mensual de la Deuda" align="right" onClick="alerta()">
<input ONCLICK="window.location.href='menu1.php'" class="color1" type="button" value="Volver"/></td></tr></table>
<?php
 
$day = date('d');
if (isset($_POST['enviar']))
   {
         if($day < 28) {
            echo "<script>alert('No es la Fecha para Crear el Cierre Mensual')</script>";
              }
		 else {
            $total = "SELECT sum(deuda.monto) AS total,  propietarios.cedula, deuda.fecha,  propietarios.nroapto
   FROM propietarios, deuda
  WHERE propietarios.nroapto = deuda.nroapto
  GROUP BY deuda.nroapto,  propietarios.nroapto, propietarios.cedula, deuda.fecha
  ORDER BY deuda.nroapto;";
            $asignadeuda = @pg_query($connect,$total);
           while($resultados =@pg_fetch_array($asignadeuda)):
		        $cedula  = $resultados['cedula'];
    		    $fecha   = $resultados['fecha'];
                $nroapto = $resultados['nroapto'];
		        $monto   = $resultados['total'];
				$codigo  = $resultados['codigo_gasto'];
	  		    $hora =    $resultados['hora'];
 $asignado = "INSERT INTO cierredeuda(
 						  cedula,
						  fecha,
						  nroapto,
						  monto,codigo_gasto,hora)
				   VALUES('$cedula',
				   		  '$fecha',
						  '$nroapto',
						   $monto,'01',000)";
                @pg_query($connect,$asignado);
             echo "<script>alert('Esta creado el Cierre')</script>";
           endwhile;
             }
   }
?>
</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