Ver Mensaje Individual
  #8 (permalink)  
Antiguo 16/07/2012, 17:32
Avatar de yebert
yebert
 
Fecha de Ingreso: marzo-2012
Ubicación: Mérida
Mensajes: 46
Antigüedad: 12 años, 8 meses
Puntos: 3
Respuesta: Arreglar tabla horario; mostrar asignaturas en filas según día

Bien racba ya esta agarrando forma la tabla le agradezco tu ayuda..

Así llevo el php que muestra la tabla para hagas el favor y des un vistazo, la tabla ya se genera bien con sus columnas y filas pero solo muestra dos filas cuando tiene que mostrar 4 filas según los datos guardados en la tabla de la BD


Código PHP:
Ver original
  1. <?php
  2. //consulta de datos...............cedula_personal=$ced
  3. $sql= "SELECT * FROM horario WHERE cedula_personal=$ced ORDER BY h_entrada ASC" or die("Error al Filtrar la informacion");
  4. $dat = mysql_query($sql);
  5. $inf = array(); //declaramos un arreglo donde guardamos los registros encontrados
  6. echo "<table width='800px' border='1' align='center'cellpadding='2' cellspacing='0'>";
  7. echo "<tr width='780px'>";
  8. echo "<td width='150px' bgcolor='#ECE9D8'><div align='center'>LUNES</div></td>";
  9. echo "<td width='150px' bgcolor='#ECE9D8'><div align='center'>MARTES</div></td>";
  10. echo "<td width='150px' bgcolor='#ECE9D8'><div align='center'>MIERCOLES</div></td>";
  11. echo "<td width='150px' bgcolor='#ECE9D8'><div align='center'>JUEVES</div></td>";
  12. echo "<td width='150px' bgcolor='#ECE9D8'><div align='center'>VIERNES</div></td>";
  13. echo "</tr>";
  14. echo "<tr width='780px' border='1'cellpadding='1' cellspacing='1'>";
  15. while($d = mysql_fetch_array($dat)) {
  16. $inf[] = $d; //Buscamos los datos almacenados y los asignados al arreglo para poderlos manipular a consideración nuestra
  17. }
  18. for ($i=1;$i<=5;$i++) {//con este for le damos el valor a las horas en una columna
  19. for ($j=0;$j<=4;$j++) {//con este recuperamos la informacion del arreglo y la llamamos el registro que nos interesa
  20.  
  21. if ($inf[$j]['dia'] == $i)
  22. {//mostramos el valor
  23. //echo "</tr>";
  24. echo "<td style='width:140px; background:#E3E9F1'>";
  25. if($inf[$j]['h_entrada']==''){ echo "LIBRE";}else {echo $inf[$j]['h_entrada']." - ";}
  26. if($inf[$j]['h_salida']==''){ echo "LIBRE";}else {echo $inf[$j]['h_salida']."<br>";}
  27. if($inf[$j]['materia']==''){ echo "LIBRE";}else {echo $inf[$j]['materia']."<br>";}
  28. if($inf[$j]['grado']==''){ echo "LIBRE";}else {echo $inf[$j]['grado']." - ";}
  29. if($inf[$j]['seccion']==''){ echo "LIBRE";}else {echo $inf[$j]['seccion']." - ";}
  30. if($inf[$j]['aula']==''){ echo "LIBRE";}else { echo $inf[$j]['aula']."";}
  31. echo "</td>";
  32. }
  33. }
  34. }
  35. echo "</tr>";
  36. echo "<tr width='780px' border='1'cellpadding='1' cellspacing='1'>";
  37. while($d = mysql_fetch_array($dat)) {
  38. $inf[] = $d; //Buscamos los datos almacenados y los asignados al arreglo para poderlos manipular a consideración nuestra
  39. }
  40. for ($i=1;$i<=5;$i++) {//con este for le damos el valor a las horas en una columna
  41. for ($j=5;$j<=9;$j++) {//con este recuperamos la informacion del arreglo y la llamamos el registro que nos interesa
  42.  
  43. if ($inf[$j]['dia'] == $i)
  44. {//mostramos el valor
  45. //echo "</tr>";
  46. echo "<td style='width:140px; background:#E3E9F1'>";
  47. if($inf[$j]['h_entrada']==''){ echo "LIBRE";}else {echo $inf[$j]['h_entrada']." - ";}
  48. if($inf[$j]['h_salida']==''){ echo "LIBRE";}else {echo $inf[$j]['h_salida']."<br>";}
  49. if($inf[$j]['materia']==''){ echo "LIBRE";}else {echo $inf[$j]['materia']."<br>";}
  50. if($inf[$j]['grado']==''){ echo "LIBRE";}else {echo $inf[$j]['grado']." - ";}
  51. if($inf[$j]['seccion']==''){ echo "LIBRE";}else {echo $inf[$j]['seccion']." - ";}
  52. if($inf[$j]['aula']==''){ echo "LIBRE";}else { echo $inf[$j]['aula']."";}
  53. echo "</td>";
  54. }
  55. }
  56. }echo "</tr>";
  57. echo "</table>";
  58. ?>
-------------------------------------------------------------------------------------------
Hasta el momento la tabla se ve asi como puedes ver en este vinculo:

http://liceo.x10.mx/pruebas/Ordenar%20horario%20docente3.html
--------------------------------------------------------------------------------------

Esta es la estructura de la tabla. Para que tengas una idea mas clara de los datos..

Código PHP:
Ver original
  1. CREATE TABLE IF NOT EXISTS `horario` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `cedula_personal` int(8) NOT NULL,
  4. `grado` varchar(10) NOT NULL,
  5. `seccion` int(2) NOT NULL,
  6. `aula` varchar(20) NOT NULL,
  7. `materia` varchar(60) NOT NULL,
  8. `dia` int(1) NOT NULL,
  9. `h_entrada` time NOT NULL,
  10. `h_salida` time NOT NULL,
  11. `f_creado` date NOT NULL,
  12. PRIMARY KEY (`id`)
  13. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=20 ;
  14.  
  15. --
  16. -- Volcar la base de datos para la tabla `horario`
  17. --
  18.  
  19. INSERT INTO `horario` (`id`, `cedula_personal`, `grado`, `seccion`, `aula`, `materia`, `dia`, `h_entrada`, `h_salida`, `f_creado`) VALUES
  20. (1, 12345678, '1', 1, 'AULA 01', 'Informatica', 1, '07:00:00', '10:00:00', '2012-07-13'),
  21. (2, 12345678, '2', 3, 'AULA 02', 'Educacion para la Salud', 1, '11:20:00', '12:40:00', '2012-07-13'),
  22. (3, 12345678, '2', 1, 'AULA 01', 'Dibujo tecnico', 1, '13:40:00', '15:00:00', '2012-07-13'),
  23. (4, 12345678, '1', 1, 'AULA 01', 'Dibujo tecnico', 2, '07:00:00', '10:00:00', '2012-07-13'),
  24. (5, 12345678, '2', 1, 'AULA 02', 'Informatica', 2, '10:00:00', '12:40:00', '2012-07-13'),
  25. (16, 12345678, '1', 3, 'AULA 01', 'Informatica', 3, '07:00:00', '10:00:00', '2012-07-16'),
  26. (17, 12345678, '2', 5, 'AULA 02', 'Educacion para la Salud', 3, '11:20:00', '12:40:00', '2012-07-16'),
  27. (14, 12345678, '2', 2, 'LAB.QUIMICA', 'Historia Universal', 2, '16:00:00', '18:00:00', '2012-07-15'),
  28. (18, 12345678, '1', 5, 'AULA 01', 'Informatica', 5, '07:00:00', '10:00:00', '2012-07-16'),
  29. (15, 12345678, '1', 2, 'LAB.QUIMICA', 'Matematicas', 2, '13:00:00', '14:20:00', '2012-07-16'),
  30. (19, 12345678, '2', 4, 'AULA 01', 'Informatica', 5, '10:00:00', '12:40:00', '2012-07-16');

De antemano muchas gracias por tu atención racba se que este materia le servirá a otras personas que deseen realizar algo similar.
__________________
Yebert