Hola compañeros, vuelvo a escribirle con un problema q no le he podido dar la vuelta aun.
Quiero hacer una actualizacion de varios registros,quizas parezca un tema de MySQL, la cuestion es que tengo un formulario donde envio un periodo de una semana del año, envio a una consulta donde me mostrara una lista con ciertos trabajadores dentro de ese rango de fechas seleccionado.
Ahora bien esa lista, tiene al lado de los trabajadores varios input text donde se podria modificar las horas trabajadas por cada dia de la semana seleccionada, ok la cuestion es la siguiente.
Estoy enviando ese formulario pero al hacer el UPDATE solo me esta actualizando los datos del ultimo trabajador de la lista, lo que hice fue meter el UPDATE dentro de un FOR pero sigue igual, colocare el codigo a ver si me pueden ayudar
horas.php
Código PHP:
<?
include("./Scripts/funcion.php");
include("conexion.php");
$conexion = new ControlBD();
$conexion->conectar();
$conexion->seleccionarBD();
$grupo = $_POST['grupos'];
$fechaDesde = cambiar_a_mysql($_POST['fch_dsd']);
$fechaHasta = cambiar_a_mysql($_POST['fch_hst']);
$query="SELECT codigo,mar_codtra,MAR_HORLUN,MAR_HORMAR,MAR_HORMIE,MAR_HORJUE,MAR_HORVIE,MAR_HORSAB,MAR_HORDOM,
MAR_HOREXT,MAR_HORNOC,MAR_HEDL,MAR_HEDM,MAR_HEDMI,MAR_HEDJ,MAR_HEDV,MAR_HEDS,MAR_HEDD,MAR_HENL,
MAR_HENM,MAR_HENMI,MAR_HENJ,MAR_HENV,MAR_HENS,MAR_HEND,SALARIO,NOMBRE,APELLIDO,CEDULA,TURNO,
JOR_DESCRI,FECHA_ING,FECHA_NAC,COD_DPTO,DEP_DESCRI,GRUPO,gtr_descri,cod_cargo,car_descri,
NIVEL_EDUC,EDO_CIVIL, TRUNCATE(PERIOD_DIFF(DATE_FORMAT(CURDATE(),'%Y%m'),
DATE_FORMAT(FECHA_NAC,'%Y%m'))/12,0) AS ANOS,MOD(PERIOD_DIFF(DATE_FORMAT(CURDATE(),'%Y%m'),
DATE_FORMAT(FECHA_NAC,'%Y%m')),12) AS cMES FROM nmtrabajador
INNER JOIN nmdpto ON dep_codigo=cod_dpto
INNER JOIN nmgrupo ON gtr_codigo=grupo
INNER JOIN nmcargos ON car_codigo=cod_cargo
INNER JOIN nmjornadas ON turno=jor_codigo
INNER JOIN nmmarcacion ON mar_codtra=codigo
WHERE condicion='A' AND gtr_codigo='$grupo'";
$result=$conexion->ejecutarQuery($query);
#****************Probando con enlace a NMMARCACION para Mostrar las Marcaciones Importadas*****************************#
$date="SELECT DATE('$fechaDesde') as Hoy,
WEEKDAY(DATE('$fechaDesde')) as DiaSemana,
DATE_SUB(DATE('$fechaDesde'),INTERVAL WEEKDAY(DATE('$fechaHasta')) DAY) as primerDiaSemana,
DATE_ADD(DATE_SUB(DATE('$fechaDesde'),INTERVAL WEEKDAY(DATE('$fechaHasta')) DAY),INTERVAL 1 DAY) as segundoDiaSemana,
DATE_ADD(DATE_SUB(DATE('$fechaDesde'),INTERVAL WEEKDAY(DATE('$fechaHasta')) DAY),INTERVAL 2 DAY) as tercerDiaSemana,
DATE_ADD(DATE_SUB(DATE('$fechaDesde'),INTERVAL WEEKDAY(DATE('$fechaHasta')) DAY),INTERVAL 3 DAY) as cuartoDiaSemana,
DATE_ADD(DATE_SUB(DATE('$fechaDesde'),INTERVAL WEEKDAY(DATE('$fechaHasta')) DAY),INTERVAL 4 DAY) as quintoDiaSemana,
DATE_ADD(DATE_SUB(DATE('$fechaDesde'),INTERVAL WEEKDAY(DATE('$fechaHasta')) DAY),INTERVAL 5 DAY) as sextoDiaSemana,
DATE_ADD(DATE_SUB(DATE('$fechaDesde'),INTERVAL WEEKDAY(DATE('$fechaHasta')) DAY),INTERVAL 6 DAY) as ultimoDiaSemana ";
$fecha=$conexion->ejecutarQuery($date);
$semana=mysql_fetch_array($fecha);
?>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=latin1" />
<title>Horas Laborales</title>
<script type="text/javascript" src="./Scripts/jquery-1.6.1.js"></script>
<link rel=stylesheet href="./Style/default.css" type="text/css">
</head>
<body>
<form name="marcacion" action="actualizar_mar.php" method="post">
<table class="horas" id="prueba">
<thead>
<tr>
<th colspan="35">Nomina Personal Indirecto: </th>
</tr>
<tr>
<th colspan="35">Periodo: </th>
</tr>
<tr id="m-header">
<th rowspan="3">Cod. Trabajador</th>
<th rowspan="3">Apellido y Nombre</th>
<th rowspan="3">Cedula</th>
<th rowspan="3">Clasificacion</th>
<th rowspan="3">Afiliacion</th>
<th rowspan="3">Sueldo Diario</th>
<th rowspan="3">Fecha Ingreso</th>
<th rowspan="3">Turno</th>
<th rowspan="3"></th>
<th colspan="3">Lunes</th>
<th colspan="3">Martes</th>
<th colspan="3">Miercoles</th>
<th colspan="3">Jueves</th>
<th colspan="3">Viernes</th>
<th colspan="3">Sabado</th>
<th colspan="3">Domingo</th>
</tr>
<tr>
<th colspan="3"><? echo cambiar_fecha($semana['2']) ?></th>
<th colspan="3"><? echo cambiar_fecha($semana['3']) ?></th>
<th colspan="3"><? echo cambiar_fecha($semana['4']) ?></th>
<th colspan="3"><? echo cambiar_fecha($semana['5']) ?></th>
<th colspan="3"><? echo cambiar_fecha($semana['6']) ?></th>
<th colspan="3"><? echo cambiar_fecha($semana['7']) ?></th>
<th colspan="3"><? echo cambiar_fecha($semana['8']) ?></th>
</tr>
<tr>
<th>H.N</th>
<th>H.EXT</th>
<th>H.E.N</th>
<th>H.N</th>
<th>H.EXT</th>
<th>H.E.N</th>
<th>H.N</th>
<th>H.EXT</th>
<th>H.E.N</th>
<th>H.N</th>
<th>H.EXT</th>
<th>H.E.N</th>
<th>H.N</th>
<th>H.EXT</th>
<th>H.E.N</th>
<th>H.N</th>
<th>H.EXT</th>
<th>H.E.N</th>
<th>H.N</th>
<th>H.EXT</th>
<th>H.E.N</th>
</tr>
</thead>
<tbody style="overflow:auto;" >
<? while($array=mysql_fetch_array($result)){ ?>
<tr>
<td style="font-size:10px"><?=$array['codigo']?></td>
<td style="font-size:10px"><?=$array['APELLIDO']." ".$array['NOMBRE']?></td>
<td style="font-size:9px"><?=$array['CEDULA']?></td>
<td style="font-size:9px"><?=$array['DEP_DESCRI']?></td>
<td style="font-size:9px"><?=$array['gtr_descri']?></td>
<td style="font-size:10px"><?=number_format($array['SALARIO'],2,",",".")?></td>
<td style="font-size:9px"><?=$array['FECHA_ING']?></td>
<td style="font-size:9px"><?=$array['JOR_DESCRI']?></td>
<td></td>
<td><input type="text" name="MAR_HORLUN[]" size="4" maxlength="2" class="hinput" value="<?=ROUND($array['MAR_HORLUN']); ?>" /></td>
<td><input type="text" name="MAR_HEDL[]" size="4" maxlength="2" class="hinput" value="<?=ROUND($array['MAR_HEDL']); ?>" /></td>
<td><input type="text" name="MAR_HENL[]" size="4" maxlength="2" class="hinput" value="<?=ROUND($array['MAR_HENL']); ?>" /></td>
<td><input type="text" name="MAR_HORMAR[]" size="4" maxlength="2" class="hinput" value="<?=ROUND($array['MAR_HORMAR']); ?>" /></td>
<td><input type="text" name="MAR_HEDM[]" size="4" maxlength="2" class="hinput" value="<?=ROUND($array['MAR_HEDM']); ?>" /></td>
<td><input type="text" name="MAR_HENM[]" size="4" maxlength="2" class="hinput" value="<?=ROUND($array['MAR_HENM']); ?>" /></td>
<td><input type="text" name="MAR_HORMIE[]" size="4" maxlength="2" class="hinput" value="<?=ROUND($array['MAR_HORMIE']); ?>" /></td>
<td><input type="text" name="MAR_HEDMI[]" size="4" maxlength="2" class="hinput" value="<?=ROUND($array['MAR_HEDMI']); ?>" /></td>
<td><input type="text" name="MAR_HENMI[]" size="4" maxlength="2" class="hinput" value="<?=ROUND($array['MAR_HENMI']); ?>" /></td>
<td><input type="text" name="MAR_HORJUE[]" size="4" maxlength="2" class="hinput" value="<?=ROUND($array['MAR_HORJUE']); ?>" /></td>
<td><input type="text" name="MAR_HEDJ[]" size="4" maxlength="2" class="hinput" value="<?=ROUND($array['MAR_HEDJ']); ?>"/></td>
<td><input type="text" name="MAR_HENJ[]" size="4" maxlength="2" class="hinput" value="<?=ROUND($array['MAR_HENJ']); ?>" /></td>
<td><input type="text" name="MAR_HORVIE[]" size="4" maxlength="2" class="hinput" value="<?=ROUND($array['MAR_HORVIE']); ?>" /></td>
<td><input type="text" name="MAR_HEDV[]" size="4" maxlength="2" class="hinput" value="<?=ROUND($array['MAR_HEDV']); ?>" /></td>
<td><input type="text" name="MAR_HENV[]" size="4" maxlength="2" class="hinput" value="<?=ROUND($array['MAR_HENV']); ?>" /></td>
<td><input type="text" name="MAR_HORSAB[]" size="4" maxlength="2" class="hinput" value="<?=ROUND($array['MAR_HORSAB']); ?>" /></td>
<td><input type="text" name="MAR_HEDS[]" size="4" maxlength="2" class="hinput" value="<?=ROUND($array['MAR_HEDS']); ?>" /></td>
<td><input type="text" name="MAR_HENS[]" size="4" maxlength="2" class="hinput" value="<?=ROUND($array['MAR_HENS']); ?>" /></td>
<td><input type="text" name="MAR_HORDOM[]" size="4" maxlength="2" class="hinput" value="<?=ROUND($array['MAR_HORDOM']); ?>" /></td>
<td><input type="text" name="MAR_HEDD[]" size="4" maxlength="2" class="hinput" value="<?=ROUND($array['MAR_HEDD']); ?>" /></td>
<td><input type="text" name="MAR_HEND[]" size="4" maxlength="2" class="hinput" value="<?=ROUND($array['MAR_HEND']); ?>" /></td>
<input type="hidden" value="<?=$fechaDesde; ?>" name="fecha_desde[]" />
<input type="hidden" value="<?=$fechaHasta; ?>" name="fecha_hasta[]" />
<input type="hidden" value="<?=$array['codigo']?>" name="codigo_trab[]" />
</tr>
<? } ?>
</tbody>
</table>
<td><input type="submit" value="Actualizar" class="button" /></td>
</form>
</body>
</html>
Este es el formulario donde envio las horas
Continuo....