Foros del Web » Programando para Internet » PHP »

problema para restar varios campos de un BD

Estas en el tema de problema para restar varios campos de un BD en el foro de PHP en Foros del Web. Buenas, tengo un problemilla con mi código. Quiero crear un control de sueldos de trabajadores, así que quiero hacer lo siguiente: por una parte para ...
  #1 (permalink)  
Antiguo 17/12/2015, 03:36
 
Fecha de Ingreso: diciembre-2014
Mensajes: 13
Antigüedad: 9 años, 11 meses
Puntos: 0
problema para restar varios campos de un BD

Buenas, tengo un problemilla con mi código. Quiero crear un control de sueldos de trabajadores, así que quiero hacer lo siguiente: por una parte para crear los meses de sueldo de cada trabajador, y por otra parte crear los pagos a cuenta a cada trabajador (los formularios los tengo hechos, son los siguientes):

Código PHP:
<script type="text/javascript" src="js/generales.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://code.jquery.com/jquery-1.11.2.min.js"></script>
<?php include "../conexion.php"?>
<button onClick="Guardar('nuevomes','trabajadores','guardar-mes')">Guardar</button>
<form id="nuevomes">
<h2> SUELDO TRABAJADORES</h2>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="8%"></td>
    <td width="20%"></td>
    <td width="12%">&nbsp;</td>
    <td width="17%">&nbsp;</td>
    <td width="3%">&nbsp;</td>
    <td width="40%">&nbsp;</td>
    </tr>
  <tr>
    <td>Trabajador:</td>
    <td colspan="2"><?php
$resultado_consulta_mysqli2
=mysqli_query($mysqli,"select * from trabajadores ORDER BY nombre");   
echo 
"<select name='idtrabajador'>";
echo 
"<option value=''>Seleccione</option>";
while(
$fila1=mysqli_fetch_array($resultado_consulta_mysqli2)){
    echo 
"<option  value='".$fila1["id"]."'>".$fila1["nombre"]."</option>";
    }
echo 
"</select>";?></td>
    <td valign="top">&nbsp;</td>
    <td rowspan="9" valign="top">&nbsp;</td>
    <td rowspan="9" valign="top"></td>
    </tr>
  <tr>
    <td>Mes:</td>
    <td><input name="mes" type="text" id="mes" /></td>
    <td valign="top">&nbsp;</td>
    <td valign="top">&nbsp;</td>
    </tr>
  <tr>
    <td>A&ntilde;o:</td>
    <td><input name="ano" type="text" id="ano" /></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td valign="top"></td>
  </tr>
  <tr>
    <td>Importe:</td>
    <td><input name="importe" type="number" id="importe" /></td>
  <td valign="top">€</td>
    <td valign="top">&nbsp;</td>
    </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td valign="top">&nbsp;</td>
    <td valign="top">&nbsp;</td>
    </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td valign="top">&nbsp;</td>
    <td valign="top">&nbsp;</td>
    </tr>
  <tr>
    <td> </td>
    <td></td>
    <td valign="top">&nbsp;</td>
    <td valign="top">&nbsp;</td>
    </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td valign="top">&nbsp;</td>
    <td valign="top">&nbsp;</td>
    </tr>
</table>

</form>
</div>
Formulario de nuevo recibo:
Código PHP:
<script type="text/javascript" src="js/generales.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://code.jquery.com/jquery-1.11.2.min.js"></script>
<?php include "../conexion.php"?>
<button onClick="Guardar('nuevopago','trabajadores','guardar-recibo')">Guardar</button>
<form id="nuevopago">
<h2> RECIBOS TRABAJADORES</h2>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="8%"></td>
    <td width="20%"></td>
    <td width="12%">&nbsp;</td>
    <td width="17%">&nbsp;</td>
    <td width="3%">&nbsp;</td>
    <td width="40%">&nbsp;</td>
    </tr>
  <tr>
    <td>Trabajador:</td>
    <td colspan="2"><?php
$resultado_consulta_mysqli2
=mysqli_query($mysqli,"select * from trabajadores ORDER BY nombre");   
echo 
"<select name='idtrabajador'>";
echo 
"<option value=''>Seleccione</option>";
while(
$fila1=mysqli_fetch_array($resultado_consulta_mysqli2)){
    echo 
"<option  value='".$fila1["id"]."'>".$fila1["nombre"]."</option>";
    }
echo 
"</select>";?></td>
    <td valign="top">&nbsp;</td>
    <td rowspan="9" valign="top">&nbsp;</td>
    <td rowspan="9" valign="top"></td>
    </tr>
  <tr>
    <td>Fecha:</td>
    <td><input name="fecha" type="date" id="fecha" /></td>
    <td valign="top">&nbsp;</td>
    <td valign="top">&nbsp;</td>
    </tr>
  <tr>
    <td>Importe:</td>
    <td><input name="importe" type="number" id="importe" /></td>
    <td>€</td>
    <td>&nbsp;</td>
    </tr>
  <tr>
    <td>Concepto:</td>
    <td colspan="2"><input type="text" name="concepto" id="concepto" size="50" /></td>
    <td valign="top"></td>
  </tr>
  <tr>
    <td> </td>
    <td></td>
  <td valign="top">&nbsp;</td>
    <td valign="top">&nbsp;</td>
    </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td valign="top">&nbsp;</td>
    <td valign="top">&nbsp;</td>
    </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td valign="top">&nbsp;</td>
    <td valign="top">&nbsp;</td>
    </tr>
  <tr>
    <td> </td>
    <td></td>
    <td valign="top">&nbsp;</td>
    <td valign="top">&nbsp;</td>
    </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td valign="top">&nbsp;</td>
    <td valign="top">&nbsp;</td>
    </tr>
</table>

</form>
</div>
Tambien tengo creada las tablas en la BD:

MESES TRABAJADORES

id idtrabajador mes ano importemes ptedecobrar

PAGO TRABAJADORES

id idtrabajador fecha importe concepto mesaplicado


Ahora bien, el problema que tengo es el siguiente: yo quiero que al crear un cobro se aplique al mes más antiguo de dicho trabajador, y cuando este llegue a 0 se aplique al mes siguiente, ¿Como puedo hacerlo? yo tengo ahora un select en la ficha del recibo, que salen los meses en los que ptedecobrar es superior a 0, y al seleccionar el select guardar ese recibo como aplicado a ese mes, pero lo que quiero es que aplique solo ese importe al mes más antiguo.

gracias por adelantado.

Etiquetas: bd, campos, fecha, formulario, restar, select, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:30.