Foros del Web » Programando para Internet » PHP »

Semanario en php

Estas en el tema de Semanario en php en el foro de PHP en Foros del Web. Hola. Tengo un semanario, el cual lee una base de datos y obtiene una tabla con los trabajos de cada empleado por la semana, es ...
  #1 (permalink)  
Antiguo 01/04/2009, 23:52
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 8 meses
Puntos: 11
Hola.

Tengo un semanario, el cual lee una base de datos y obtiene una tabla con los trabajos de cada empleado por la semana, es decir, saldria algo como esto:


Empleado Lunes Martes ...

Marta 8-10 10-15

Luis Libre 10-22

y asi para todos los empleaados y dias.

Lo he hecho de la siguiente manera:
Código:
<table>
Select * FROM personal, trabajo WHERE personal.id = trabajo.id
foreach($resultados as $r){
echo $r->trabajador;
echo "<tr>";
//comienzo el for para recorrer la semana
for($i=0;$i<7;$i++){
echo "<td>";
//si el dia de la semana es igual a $i entocnes imprimo el resultado, sino no
if($semana == $i){
echo $trabajo;

}
else{
echo "";
}
echo "</td>";
//cierro el for
}
echo "</tr>";
/cierro el foreach
}

echo "</table>";
El codigo asi funciona, pero tiene un fallo y es que me saca n filas por cada trabajador segun el numero n de veces que trabaje a la semana, es decir, si una persona trabaja solo un dia, solo sera mostrada una vez, pero si trabaja 8 veces, me mostrara 8 veces su planing semanal.

Si en la primera consulta a la base de datos tan solo pongo
SELECT * FROM personal
ME sale bien, pero el problema esta en que si un trabajador no trabaja nada esa semana tb aparece en el planing, cuando en realidad yo no quiero que aparezca.

Gracias

Bueno me lo resolvi yo solo.

Tan solo hay que hacer lo siguiente.

Cuando hago el foreach luego debo introducir un if con la siguiente condicion

Si el empleado es repetido, no imprimir nada, sino imprimirlo por pantalla

Última edición por GatorV; 02/04/2009 a las 09:39
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 21:41.