Foros del Web » Programando para Internet » PHP »

Como ordenar columnas de la tabla horario según días de la semana

Estas en el tema de Como ordenar columnas de la tabla horario según días de la semana en el foro de PHP en Foros del Web. Agradezco su ayuda. Primero el script @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original <?php       $inf = array ( ) ; //declaramos un arreglo ...
  #1 (permalink)  
Antiguo 15/07/2012, 23:35
Avatar de yebert  
Fecha de Ingreso: marzo-2012
Ubicación: Mérida
Mensajes: 46
Antigüedad: 12 años, 9 meses
Puntos: 3
Pregunta Como ordenar columnas de la tabla horario según días de la semana

Agradezco su ayuda.
Primero el script
Código PHP:
Ver original
  1. <?php      
  2. $inf = array(); //declaramos un arreglo donde guardamos los registros encontrados
  3. while($d = mysql_fetch_array($dat)) {
  4.  $inf[] = $d; //Buscamos los datos almacenados y los asignados al arreglo para poderlos manipular a consideración nuestra
  5. }
  6. for ($i=1;$i<=5;$i++) {//con este for le damos el valor a las horas en una columna
  7.     echo "<table width='20%' border='1' align='center'cellpadding='2' cellspacing='0'>";
  8.     echo "<tr>";
  9.          if($i=='1'){echo "<td colspan='4' bgcolor='#ECE9D8'><div align='center'>LUNES</div></td>";}
  10.          if($i=='2'){echo "<td colspan='4' bgcolor='#ECE9D8'><div align='center'>MARTES</div></td>";}
  11.          if($i=='3'){echo "<td colspan='4' bgcolor='#ECE9D8'><div align='center'>MIERCOLES</div></td>";}
  12.          if($i=='4'){echo "<td colspan='4' bgcolor='#ECE9D8'><div align='center'>JUEVES</div></td>";}
  13.          if($i=='5'){echo "<td colspan='4' bgcolor='#ECE9D8'><div align='center'>VIERNES</div></td>";}    
  14.        
  15.     for ($j=0;$j<=50;$j++) {//con este recuperamos la informacion del arreglo y la llamamos el registro que nos interesa
  16.        
  17.        if ($inf[$j]['dia'] == $i)  
  18.          {//mostramos el valor
  19.        echo "</tr>";
  20.        echo "<tr>";
  21.  echo "<td width='100' bgcolor='#E3E9F1'><div align='center'>";
  22.  
  23. if($inf[$j]['h_entrada']==''){ echo "LIBRE";}else {echo $inf[$j]['h_entrada']." - ";}
  24. if($inf[$j]['h_salida']==''){ echo "LIBRE";}else {echo $inf[$j]['h_salida']."<br>";}
  25. if($inf[$j]['materia']==''){ echo "LIBRE";}else {echo $inf[$j]['materia']."<br>";}
  26. if($inf[$j]['grado']==''){ echo "LIBRE";}else {echo $inf[$j]['grado']." - ";}
  27. if($inf[$j]['seccion']==''){ echo "LIBRE";}else {echo $inf[$j]['seccion']." - ";}
  28. if($inf[$j]['aula']==''){ echo "LIBRE";}else { echo $inf[$j]['aula']."";}echo "</div></td>";
  29.          }
  30.     } echo "</tr>";
  31.    echo "</table>";
  32. }  
  33. ?>

Con este script se me genera la presente tabla



o Tambien se puede ver desde el siguiente vinculo

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

Lo que quisiera lograr es ordenar las columnas dentro de una sola tabla segun los dias
LUNES - MARTES - MIÉRCOLES - JUEVES - VIERNES


Aca les dejo un ejemplo de como quiero arreglarlo..


o en este vinculo tambien dejo el ejemplo
http://liceo.x10.mx/pruebas/Ordenar%20horario%20docente.html

les agradezco me den su ayuda estoy confundido con la posicion del bucle y los arreglos para presentar el horario ordenadamente.[/B][/B]
__________________
Yebert

Última edición por yebert; 16/07/2012 a las 04:50
  #2 (permalink)  
Antiguo 16/07/2012, 07:07
Avatar de topo_bionico  
Fecha de Ingreso: junio-2012
Mensajes: 89
Antigüedad: 12 años, 6 meses
Puntos: 20
Respuesta: Como ordenar columnas de la tabla horario según días de la semana

Estas formando mal las tablas

Código PHP:
Ver original
  1. <table>
  2. <tr> //Cada TR es una fila
  3. <td>Celda 1</td> //Cada TD es una columna
  4. <td>Celda 2</td>
  5. <td>Celda 3</td>
  6. </tr>
  7. </table>


http://www.htmlquick.com/es/tutorials/tables.html
  #3 (permalink)  
Antiguo 16/07/2012, 08:15
Avatar de yebert  
Fecha de Ingreso: marzo-2012
Ubicación: Mérida
Mensajes: 46
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Como ordenar columnas de la tabla horario según días de la semana

Me podrias hacer el favor de orientarme un poco ya que hize lo q me dices de mil formas con <tr> para crear las filas pero la posicion del bucle no lo he podido cuadrar, horas, asignaturas... las he podido organizar en filas pero los días no me da; son mis pocos conocimientos al respecto je,je,je,
Hermanazo le agradezco me hallas respondido ya hoy son dos días que llevo con este script..
__________________
Yebert
  #4 (permalink)  
Antiguo 16/07/2012, 09:22
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 14 años, 5 meses
Puntos: 55
Respuesta: Como ordenar columnas de la tabla horario según días de la semana

bueno yo te puedo decir que cuando yo estaba en mis comienzos con php hice bastantes preguntas en este foro de como hacer un horario de clases y nunca recibi respuesta de la forma como yo la queria, pero al final puedo decir que logre hacerlo yo solo pero luego de casi 2 meses de pensar y pensar

esto te lo digo con la finalidad de que no te rindas, que el que persevera alcanza

ya hablando por la parte del codigo, yo mi horario lo forme creando primero en la BD unos numeros que me identificaban que dia era EJ.: 1xx = Lunes, 2xx = Martes, 3xx Miercoles y asi sucesivamente, y al realizar la consulta la ordeno de menor a mayor en esos numeros y al terminar el 1xx lo mando a saltar de columna para la siguiente y asi sucesivamente
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O
  #5 (permalink)  
Antiguo 16/07/2012, 10:06
Avatar de yebert  
Fecha de Ingreso: marzo-2012
Ubicación: Mérida
Mensajes: 46
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Como ordenar columnas de la tabla horario según días de la semana

SI johhan16 he leído tus preguntas relacionadas a horario y tus script me han servido bastante. Gracias..
Pues si tienes razón johhan16 estoy novato en esto de php y sus funciones, estoy desarrollando un control de asistencias del personal docente de un colegio. Es un proyecto que debo presentar en clase..

Hermanazo si tienes un demo de tu sistema le agradezco me dejes dar un vistazo para ver la navegabilidad de los usuarios, las interfaces entre otras cosas y lo podría tomar como aporte en mi proyecto.. Soy sincero no se consigue material al respecto. Gracias a este foro he tomado algunas ideas y scripts.. Te dejo mi correo si deseas [email protected]
__________________
Yebert
  #6 (permalink)  
Antiguo 16/07/2012, 10:21
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 14 años, 5 meses
Puntos: 55
Respuesta: Como ordenar columnas de la tabla horario según días de la semana

por cierto yo he estado ayudando a hacer un sistema a un muchacho que conoci por este foro y casualidad que tambien es de Merida

el sistema se encuentra en esta pagina

http://unt.sytes.net/liceo2/index.php

puedes entrar al Modulo Alumnos

Usuario: 1234567
Clave: 1234567

y ves como esta el horario alli
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O
  #7 (permalink)  
Antiguo 16/07/2012, 10:34
Avatar de yebert  
Fecha de Ingreso: marzo-2012
Ubicación: Mérida
Mensajes: 46
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Como ordenar columnas de la tabla horario según días de la semana

Si pana el estudia conmigo ya el tiene el sistema casi listo lo que pasa es que la estructura de la BD en la tabla horario es diferente ya que yo para poder controlar la asistencia del personal voy a trabajar directamente en la tabla con TIME 00:00:00 hora_desde - hora_hasta para poder calcular y realizar el proceso de descuento por faltas o realizar el insert de las incidencias de retrazo, permisos... Y estoy en el horario bueno ya arregle una parte de ese modulo estoy pensando en el registro de asistencias je.je.je otro dolor de cabeza ++.
__________________
Yebert
  #8 (permalink)  
Antiguo 16/07/2012, 10:58
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 14 años, 5 meses
Puntos: 55
Respuesta: Como ordenar columnas de la tabla horario según días de la semana

ahh ok tu eres el que esta realizando el sistema de asistencia para el mismo liceo, Ruben me comento algo al respecto.

Bueno si quieres muestrame una imagen de como tienes armada la Tabla horarios con algunos datos para ver que se puede hacer desde la misma, de no poderse hacer de alli mismo lo otro seria crear otra tabla que se relacione con la primer mediante algun identificador

Postdata: dile a tus profesores de mi parte que me caen bastante mal sin conocerlos
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O
  #9 (permalink)  
Antiguo 16/07/2012, 11:00
Avatar de yebert  
Fecha de Ingreso: marzo-2012
Ubicación: Mérida
Mensajes: 46
Antigüedad: 12 años, 9 meses
Puntos: 3
Pregunta Respuesta: Como ordenar columnas de la tabla horario según días de la semana

Bueno como no lo logre ordenar el horario como queria lo arme por dias->fila
---------------------------
LUNES -->>
---------------------------
MARTES -->>
---------------------------
MIÉRCOLES -->>
----------------------------
JUEVES -->>
---------------------------
VIERNES -->>
----------------------------
Aquí esta como lo llevo..


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

Ahora el rollo q se me presenta es condicionar la consulta que sino existe registro para ese día que muestre echo "LIBRE"; he probado con varia formas y nada..

Agradezco me den la ayudita dejo el script para q me den la idea de como podria ser...
Código PHP:
Ver original
  1. while($d = mysql_fetch_array($dat)) {
  2.  $inf[] = $d; //Buscamos los datos almacenados y los asignados al arreglo para poderlos manipular a consideración nuestra
  3. }
  4. for ($i=1;$i<=5;$i++) {//con este for le damos el valor a las horas en una columna
  5.          if($i=='1'){echo "<td  bgcolor='#ECE9D8'><div align='center'>LUNES</div></td>";}
  6.          if($i=='2'){echo "<td  bgcolor='#ECE9D8'><div align='center'>MARTES</div></td>";}
  7.          if($i=='3'){echo "<td  bgcolor='#ECE9D8'><div align='center'>MIERCOLES</div></td>";}
  8.          if($i=='4'){echo "<td  bgcolor='#ECE9D8'><div align='center'>JUEVES</div></td>";}
  9.          if($i=='5'){echo "<td  bgcolor='#ECE9D8'><div align='center'>VIERNES</div></td>";}    
  10.            
  11.     for ($j=0;$j<=10;$j++) {//con este recuperamos la informacion del arreglo y la llamamos el registro que nos interesa
  12.        
  13.     if($inf[$j]['dia'] == $i)
  14.           {//mostramos el valor  
  15.        
  16.  
  17. echo "<td  bgcolor='#E3E9F1'align='center'><ul>";
  18.  
  19.  if(!isset($inf[$j]['h_entrada'])){ echo "<li>LIBRE</li>";}else {echo $inf[$j]['h_entrada']." - ";}
  20.  if(!isset($inf[$j]['h_salida'])){ echo "<li>LIBRE</li>";}else {echo $inf[$j]['h_salida']."";}
  21.  if(!isset($inf[$j]['materia'])){ echo "<li>LIBRE</li>";}else {echo "<li>".$inf[$j]['materia']."</li>";}
  22.  if(!isset($inf[$j]['grado'])){ echo "<li>LIBRE</li>";}else {echo $inf[$j]['grado']." - ";}
  23.  if(!isset($inf[$j]['seccion'])){ echo "<li>LIBRE</li>";}else {echo $inf[$j]['seccion']." - ";}
  24.  if(!isset($inf[$j]['aula'])){ echo "<li>LIBRE</li>";}else {echo $inf[$j]['aula']."";}echo "</ul></td>";      
  25.          }
  26.     } echo "<tr>";
  27. }  echo "</tr>";echo "</table></td>";
  28. ?>
__________________
Yebert
  #10 (permalink)  
Antiguo 17/07/2012, 07:28
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 14 años, 5 meses
Puntos: 55
Respuesta: Como ordenar columnas de la tabla horario según días de la semana

como te dije antes primero muestra tu Tabla con datos para ver como esta formada
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O
  #11 (permalink)  
Antiguo 17/07/2012, 09:23
Avatar de yebert  
Fecha de Ingreso: marzo-2012
Ubicación: Mérida
Mensajes: 46
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Como ordenar columnas de la tabla horario según días de la semana

(Postdata: dile a tus profesores de mi parte que me caen bastante mal sin conocerlos )

Buen dia johhan16 y porque dices lo de los teachers

Ok esta es la estructura de la tabla 'horario'

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');

__________________
Yebert
  #12 (permalink)  
Antiguo 17/07/2012, 10:09
Avatar de yebert  
Fecha de Ingreso: marzo-2012
Ubicación: Mérida
Mensajes: 46
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Como ordenar columnas de la tabla horario según días de la semana

johhan16 en este vinculo esta una idea de como quería arreglar la tabla me faltaría condicionar el campo día, lo dejo para q le des un vistazo

http://www.forosdelweb.com/f18/arreglar-tabla-horario-mostrar-asignaturas-filas-segun-dia-1003775/
__________________
Yebert

Etiquetas: columnas, horario, mysql, registro, según, semana, tabla
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:48.