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:
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.<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>";
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