Bueno, tienes varios errores:
1- En cada paso del while estás creando el javascript con la función para calcular, ésta debe aparecer sólo una vez.
2- En cada fila de la tabla repites nombres e id's de campos
Aquí, la cuestión sería cómo pretendes tomar después todos los campos del formulario, como array?
Entonces:
Código PHP:
Ver original<script type="text/javascript">
// dias es el total de días trabajados
// sueldo es el sueldo básico del empleado
// indice corresponde al input text que se debe actualizar
function calcula(dias, sueldo, indice) {
// Va sin formato, eso tendrás que preguntarlo en el foro de Javascript
document.getElementById('sueldo_quinc' + indice).value = dias * sueldo;
}
</script>
<?php
// Necesitamos un índice numérico para generar los ID de campos
$indice = 1;
// Realmente no necesitas hacer todas las asignaciones que tienes
// Sólo estás agregando más código, siempre puedes incluir...
// ... elementos de array en cadenas usando {$result['indice']}
$ivss = number_format(($result['sueldo_basico']*4/100),2,'.',''); $paro_for = number_format(($result['sueldo_basico']*0.5/100),2,'.',''); $sueldo_diario = number_format(($result['sueldo_basico']/30),2,'.',''); // Para facilitar un poco las cosas, habrá que agregar un campo oculto...
// ...con la id de empleado
?>
<tr>
<td><?php echo $result['id_empleado']; ?><input type="hiden" name="id_empleado[]" value="<?php echo $result['id_empleado']; ?>" /></td>
<td><?php echo $result['ci']; ?></td>
<td><?php echo "{$result['papellido']} {$result['sapellido']}"; ?></td>
<td><?php echo "{$result['pnombre']} {$result['snombre']}"; ?></td>
<td><input name="dias[]" type="text" id="dias<?php echo $indice; ?>" size="2" value="" onblur="calcula(this.value, '<?php echo $result['sueldo_basico']; ?>', <?php echo $indice; ?>);" /></td>
<td><?php echo $result['sueldo_basico']; ?></td>
<td><input name="sueldo_quinc[]" type="text" id="sueldo_quinc<?php echo $indice; ?>" size="5" value="" readonly="readonly" /></td>
<td><?php echo $ivss; ?></td>
<td><?php echo $paro_for; ?></td>
<td><?php echo $lph; ?></td>
<td><input name="otros_ing[]" type="text" size="5" /></td>
<td><input name="otros_desc[]" type="text"size="5" /></td>
<td></td>
<td></td>
</tr>
<?php
$indice ++;
} // fin de while
?>
Al procesar el formulario haces un
var_dump($_POST); para que veas cómo vienen los datos y puedas tomarlos sin problemas.