Foros del Web » Programando para Internet » PHP »

Tabla de Horarios

Estas en el tema de Tabla de Horarios en el foro de PHP en Foros del Web. Hola, quiero crear una tabla con horarios de diferentes actividades. Ademas, un formulario para agregar actividades nuevas y que se muestren en la tabla. La ...
  #1 (permalink)  
Antiguo 02/12/2008, 11:05
 
Fecha de Ingreso: noviembre-2008
Mensajes: 259
Antigüedad: 15 años, 5 meses
Puntos: 1
Tabla de Horarios

Hola, quiero crear una tabla con horarios de diferentes actividades. Ademas, un formulario para agregar actividades nuevas y que se muestren en la tabla.
La forma que he pensado es:

Sugeris algo mejor?
Necesito saber tambien como eliminar las actividades de golpe, sin eliminar campo por campo en la BBDD.

Gracias!!


<label>Selecciona el dia:</label>
<select name="Dia">
<option name="Lunes" >Lunes</option>
<option name="Martes">Martes</option>*
<option name="Miercoles">Miercoles</option>*
<option name="Jueves">Jueves</option>
<option name="Viernes">Viernes</option>
<option name="Shabbat">Shabbat</option>
<option name="Domingo">Domingo</option>
</select>
<br />
<br />
<label>Selecciona la hora de comienzo:</label>
<select name="horaComienzo" size="14">
<option name="6:00h" >6</option>
<option name="7:00h" >7</option>
<option name="8:00h" >8</option>
<option name="9:00h" >9</option>
<option name="10:00h" >10</option>
<option name="11:00h" >11</option>
<option name="12:00h" >12</option>
<option name="13:00h" >13</option>
<option name="14:00h" >14</option>
<option name="15:00h" >15</option>
<option name="16:00h" >16</option>
<option name="17:00h" >17</option>
<option name="18:00h" >18</option>
<option name="19:00h" >19</option>
<option name="20:00h" >20</option>
<option name="21:00h" >21</option>
<option name="22:00h" >22</option>
<option name="23:00h" >23</option>
<option name="24:00h" >24</option>
</select>
<br />
<br />
<label>Selecciona el minuto de comienzo:</label>
<input name="minComienzo" size="14">
</input>
<br />
<br />
<select name="horaFinal" size="14">
<option name="6:00h" >6</option>
<option name="7:00h" >7</option>
<option name="8:00h" >8</option>
<option name="9:00h" >9</option>
<option name="10:00h" >10</option>
<option name="11:00h" >11</option>
<option name="12:00h" >12</option>
<option name="13:00h" >13</option>
<option name="14:00h" >14</option>
<option name="15:00h" >15</option>
<option name="16:00h" >16</option>
<option name="17:00h" >17</option>
<option name="18:00h" >18</option>
<option name="19:00h" >19</option>
<option name="20:00h" >20</option>
<option name="21:00h" >21</option>
<option name="22:00h" >22</option>
<option name="23:00h" >23</option>
<option name="24:00h" >24</option>
  #2 (permalink)  
Antiguo 02/12/2008, 12:21
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: Tabla de Horarios

Vale... Tienes un formulario... ¿y ahora? Deberías analizar qué tiene que hacer tu programa para diseñar los pasos a seguir.... una vez que tengas eso empiezas a programar y si tienes dudas.... te ayudamos.
  #3 (permalink)  
Antiguo 02/12/2008, 12:55
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Respuesta: Tabla de Horarios

Un pequeño aporte. Tratá de manejar el momento de comienzo de la actividad (y si tiene un final también) con un timestamp (en un campo del tipo int de 11), lo cual para listar y matchear contenidos será ideal, y el formato puedes manejarlo como quieras al momento de mostrarlo.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #4 (permalink)  
Antiguo 02/12/2008, 14:13
 
Fecha de Ingreso: noviembre-2008
Mensajes: 259
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Tabla de Horarios

Mi pregunta es saber qué tablas usar en mysql para que sea fácil añadir eventos, borrar eventos y mostrar los eventos.

Que me recomendais?
  #5 (permalink)  
Antiguo 02/12/2008, 14:17
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: Tabla de Horarios

Eso depende de la complejidad de tu sistema...

Puede que te valga con una tabla de eventos y todos los campos dentro.... Pero eso sólo se ve haciendo un análisis de lo que quieres que haga el sistema.
  #6 (permalink)  
Antiguo 02/12/2008, 14:44
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Respuesta: Tabla de Horarios

Tal cual, inicialmente con lo que comentas, con una tabla que tenga los campos: id (int, pk), nombre del evento (varchar), descripcion (text), fecha inicio (int) te alcanza, pero de ahí en más vos sabrás a donde necesitas llegar.


PD: No sos muy descriptivo o directo en tus preguntas, te pongo un ejemplo. Decís:
Necesito saber tambien como eliminar las actividades de golpe, sin eliminar campo por campo en la BBDD.

Pero no decís bajo que patrón...si te respondo a eso te diría que hagas un "delete from actividades" sin where y borres todo, pero seguramente no sea lo que necesitas.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #7 (permalink)  
Antiguo 03/12/2008, 06:53
 
Fecha de Ingreso: noviembre-2008
Mensajes: 259
Antigüedad: 15 años, 5 meses
Puntos: 1
El horario, PHP y MySQL

Hola,

Intentando crear un horario, al final he creado una tabla con los siguientes campos:
- ID
- Dia
- Hora
- Actividad
- Grupo de personas
- Detalles

Quiero mostrar las actividades en una tabla HTML donde salgan las actividades organizadas según el DIA.
Es decir, la nueva tabla debe tener como columnas: LUNES; MARTES; MIÉRCOLES...

Cual es la mejor forma de hacerlo con PHP? Lo ideal seria que se colocaran los eventos en sus horas correspondientes.

Espero vuestra ayuda!
Muchas gracias!
  #8 (permalink)  
Antiguo 03/12/2008, 07:29
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: El horario, PHP y MySQL

Por lo menos yo no entendi mucho, en el campo de Día tendrás, Lunes, martes, miercoles, etc?
o eso lo generarás en la misma tabla HTML?

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #9 (permalink)  
Antiguo 03/12/2008, 07:42
 
Fecha de Ingreso: noviembre-2008
Mensajes: 259
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: El horario, PHP y MySQL

Si, el campo dias recoge Lunes, Martes....

El tema es que quiero que cada actividad se coloque sola en la casilla del dia en que le corresponde y la hora que le corresponde.

Lo comprendes mejor ahora? Espero que si!!

Gracias!
  #10 (permalink)  
Antiguo 03/12/2008, 07:47
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: El horario, PHP y MySQL

bueno ps el lenguaje de programación que quieras utilizar podria ser desde php hasta .net o java........ pero depende de las necesidades y recursos del cliente...... no????

ahora bien...... hacer ello es bastante sencillo, si tienes conocimientos de algoritmica...... o mejor interpretado como analisis y logica para programar......

tambien puedes encontrar mucho de estos temas muy parecidos en la seccion de faqs de php.

Suerte y que Dios te Bendiga.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #11 (permalink)  
Antiguo 03/12/2008, 07:58
 
Fecha de Ingreso: noviembre-2008
Mensajes: 259
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: El horario, PHP y MySQL

Es para una Web y es PHP.

Mi duda es si debo hacer un codigo que compare el campo DIA con el dia correspondiente en la tabla para colocarlo.
El problema es que veo que tendre que poner 7 codigos diferentes para 7 dias.

Ej: $result = mysql_query("SELECT * FROM horarios WHERE dia='lunes' AND horaComienzo<'13' ORDER BY id DESC");

echo "<table border='1' cellpadding='3' cellspacing='0' bordercolor='#003366' >";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td align='left'><font face=Arial color=#003366 size=2>" . $row['actividad'] . "</td>";
echo "<td align='left'><font face=Arial color=#003366 size=2>" . $row['horaComienzo'] .':'. $row['minComienzo']. ' - '. $row['horaFin']. ':'. $row['minFin'] . "</td>";
echo "<td align='left'><font face=Arial color=#003366 size=2>" . $row['grupo'] . "</td>";
echo "<td align='left'><font face=Arial color=#003366 size=2>" . $row['detalles'] . "</td>";
echo "</tr>";
}
echo "</table>";mysql_close($con);
?>

Que opinais?
  #12 (permalink)  
Antiguo 03/12/2008, 08:05
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: El horario, PHP y MySQL

aver...........

SELECT * FROM horarios WHERE dia='lunes' AND horaComienzo<'13' ORDER BY id DESC

en base a este select comento.........
no es necesario que pongas 7 codigos como dices para pintar cada dia......
Bastaria con tener un array de los dias.... y hacer un bucle recorriendo cada dia del array.....

ahora bien..... si deseas que solo pinte lo del dia actual.... ayi si lo tendrias que obtener con el dia actual con la funcion date() en php....... o con now() en mysql.

y por lo de la horadecomiezo.... que hay con eso...... que solo debe ser en el dia????

Suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #13 (permalink)  
Antiguo 03/12/2008, 08:50
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: El horario, PHP y MySQL

Creo que más bien deberías guardar la fecha de la actividad, de esta forma cuando haces el select ya sea de la semana o del día en cuestion, puedes con esa fecha averiguar el día (Lunes, martes, miercoles, etc) y colocarlo en la fila y columna adecuada.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #14 (permalink)  
Antiguo 03/12/2008, 09:27
 
Fecha de Ingreso: noviembre-2008
Mensajes: 259
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: El horario, PHP y MySQL

Como puedo guardar la fecha de la actividad en MYSQL?

Seguro que es mejor que guardar simplemente el dia. Porque podria programar las actividades para desaparecer solas.

Por favor, una explicacion en esto!!

Mil gracias
  #15 (permalink)  
Antiguo 03/12/2008, 09:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: El horario, PHP y MySQL

Lo ideal es que el campo sea tipo DATE y tu otro campo tipo TIME, ya con eso puedes filtrar los datos y los ordenas por fecha, por ejemplo haces un SELECT con un BETWEEN de dos rangos de fechas, y los ordenas, asi te va a dar los dias escalonados y vas dibujando la tabla dependiendo de eso.

Saludos.
  #16 (permalink)  
Antiguo 03/12/2008, 09:53
 
Fecha de Ingreso: noviembre-2008
Mensajes: 259
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: El horario, PHP y MySQL

Eso es perfecto!

Me podrias mostrar un poco como puedo pedir esos campos en HTML de manera que entren perfectamente en MYSQL en Date y Time?

Muchas gracias de nuevo!
  #17 (permalink)  
Antiguo 03/12/2008, 10:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Tabla de Horarios

HTML no tiene nada que ver con SQL, te recomiendo si tus conceptos son tan básicos, que leas un tutorial de PHP y MySQL para que entiendas como es que trabaja un proceso de este tipo.

Saludos.
  #18 (permalink)  
Antiguo 03/12/2008, 10:08
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 5 meses
Puntos: 5
Respuesta: El horario, PHP y MySQL

Hola,

Desde mi más profundo desconocimiento de como tienes hecha la parte de agregar actividad, mi sugerencia es que la guardas en timeStamp.

Una actividad supongo que tendrá una fecha de comienzo y una duración además de los registros propios de la actividad en si.

Es decir, me olvidaría de lunes martes miercoles etc y trabajaría en timestamp.

Si por ejemplo tienes un select en el que introducirías dia mes año y hora de comienzo puedes usar mktime http://es2.php.net/manual/es/function.mktime.php

luego la duración pues en segundos para poder trabajr mejor con timestamp.

Y para volcar datos en la pagina que muestre las actividades recoges de db dentro de los parametros timestamp que procedan.

ejemplo:

recoger de db todos las actividades del 3/12/2008

Código PHP:
$inicio=mktime  (0,0,0,12,3,2008)
$fin=$inicio+(60*60*24);

$sql=mysql_query("SELECT * FROM horarios WHERE TIEMPO>".$inicio." and tiempo<".$fin." ORDER BY id DESC"); 
recoger de db todos las actividades del 3/12/2008 entre las 13:30 y 18 horas

Código PHP:
$inicio=mktime  (13,30,0,12,3,2008)
$fin=mktime  (18,0,0,12,3,2008)

$sql=mysql_query("SELECT * FROM horarios WHERE TIEMPO>".$inicio." and tiempo<".$fin." ORDER BY id DESC"); 
Pero no sé si esto se adaptará a como lo tengas hecho, yo pienso que para calendarios con PHP la mejor opción es timestamp.

Salu2 ;)
__________________
[+]
[+]
  #19 (permalink)  
Antiguo 03/12/2008, 10:20
 
Fecha de Ingreso: noviembre-2008
Mensajes: 259
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Tabla de Horarios

GATOR, se que HTML no tiene nada que ver con MYSQL.

Solo queria saber como recojo el dato del DIA y HORA. Con un Combo?

En que formato lo recojo y envio al PHP para que lo almacene en la tabla MYSQL?

Creo que se entiende ahora?

Gracias
  #20 (permalink)  
Antiguo 03/12/2008, 10:22
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Tabla de Horarios

Pues todo depende del formato que manejes en la base de datos, por defecto si es DATE el formato es YYYY-MM-DD, por lo que desde 3 combos en un formulario (uno para el año, otro para el mes, y otro para el dia), los concatenas en PHP y construyes el formato correcto para enlazarlo en tu query.

Saludos.
  #21 (permalink)  
Antiguo 03/12/2008, 10:27
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Respuesta: El horario, PHP y MySQL

Cita:
Iniciado por yoseman Ver Mensaje
Hola,

Desde mi más profundo desconocimiento de como tienes hecha la parte de agregar actividad, mi sugerencia es que la guardas en timeStamp.
Cita:
Iniciado por nicolaspar Ver Mensaje
Tratá de manejar el momento de comienzo de la actividad (y si tiene un final también) con un timestamp .

Sigo creyendo que es lo mejor.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #22 (permalink)  
Antiguo 03/12/2008, 10:37
 
Fecha de Ingreso: noviembre-2008
Mensajes: 259
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Tabla de Horarios

Mi horario no esta compuesto aun, por lo que puedo cambiarlo.

Cuales son los campos que necesito en la tabla si quiero usar TimeStamp?

Me aconsejais un buen tutorial de TimeStamp y PHP que explique lo que necesito?
  #23 (permalink)  
Antiguo 03/12/2008, 10:51
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Respuesta: Tabla de Horarios

Como te decía, el campo deberá se un int de 11, not null y si quieres con un default de 0.

El timestamp es el número de segundos desde 00:00:00 UTC del 1 de enero de 1970 (UNIX Epoch) hasta determinado punto.

De ahí en más podés sacar cuentas y aplicar formatos, por ejemplo no es difícil calcular que un día tiene 86400 segundos (60*60*24), etc.

Tenés funciones en php y mismo en mysql para trabajar con este formato, desde time() hasta date().

Lo bueno es que guardarás el dato en un integer y sin formato (no sé si tendrás multiples formatos, pero de esta manera es muy simple tratarlos).



Cualquier duda preguntanos.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #24 (permalink)  
Antiguo 03/12/2008, 11:53
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: Tabla de Horarios

Podrías usar un calendario para seleccionar la fecha, hay muchisimos en la web y en este foro, de este modo no tendrías que seleccionar en combos, aunque no es mala idea para tí que estas empezando.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #25 (permalink)  
Antiguo 03/12/2008, 12:00
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Tabla de Horarios

el de google por ejemplo.........

Click MasterOjitos
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
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 10:08.