Foros del Web » Programando para Internet » PHP »

Calendario - agenda en PHP

Estas en el tema de Calendario - agenda en PHP en el foro de PHP en Foros del Web. Buenas amigos, tengo que hacer un calendario -agenda en PHP, la verdad no se por donde empezar y quiciera recomendaciones y oirlos a ustedes. explico ...
  #1 (permalink)  
Antiguo 06/10/2005, 22:27
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 21 años
Puntos: 24
Calendario - agenda en PHP

Buenas amigos, tengo que hacer un calendario -agenda en PHP, la verdad no se por donde empezar y quiciera recomendaciones y oirlos a ustedes. explico lo siguiente:

CALENDARIO AGENDA: Es un tipo de calendario que mostrara todos los dias del año al estilo de un calendario, y tambien del siguiente año y del siguiente ETC

Tendra que separarlos entonces por lunes martes miercoles etc (como un calendario !!!)

solo que cuando se de click en uno de esos dias aprecera como reservado y sera marcado con color rojo.

MIS DUDAS:

1. Que funciones debo utilizar en php para hacer el calendario?

2. Que funcion me sirve para detemrinar si una fecha pr ejmplo: 2005/12/31
es un lunes martes miercoles etc?

3. que es mas aconsejable: ¿que cuando den click en un de los dias para reservarlo, se guarde la fecha en la base de datos? y luego en el momento de hacer el calendario se compare dia a dia si la fecha que imprime esta en la base de datos?
hay una mejor forma, que me recomindan?

4 AMIGOS no pretendo que me lo hagan, prefiero que me mencionen algunas ideas, las fucniones que me pueden ayudar y de que forma las puedo utilizar, Que em den recomendaciones y cosas que tendre que tenet en cuenta pue sposiblemente se me escapen.

no quiero ningun script ya hecho, la idea es que yo lo haga.

UN saludo muchas gracias
__________________
SEO en Medellin
  #2 (permalink)  
Antiguo 06/10/2005, 23:20
Avatar de Dr.Guindows  
Fecha de Ingreso: enero-2004
Mensajes: 77
Antigüedad: 20 años, 2 meses
Puntos: 0
bueno amigo... recomiendo enormemente que hagas el almanaque en Jscript o busques uno hecho... en php solo dejalo como servlet osea el que habla con la base de datos para guardar las tareas... ahora bien dime para que lo necesitas, para la universidad o para un cliente? lo pregunto por los requerimientos, me imagino que si es para clases, entonces tendra que ser todo en PHP y codigo fuente propio... pero para un cliente puedes conseguir mucho codigo open... yo te puedo facilitar algunos codigos que tengo... salu2 avisame para mandarte un js calendar que esta super padre...
__________________
La vida es un sin fin de inhalaciones y expiraciones o son los momentos que nos dejan si ellas ;) !!! :arriba:
  #3 (permalink)  
Antiguo 07/10/2005, 05:46
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 21 años
Puntos: 24
No hombre

Lo necesito como superacion personal, explico:
Soy estudante de derecho, pero desde hace mucho tiempo trabajo en PHP, solo que uno se centa en unas cosas y olvida otras, por ejmemplo hacia mucho rato que no volvia a estudiar PHP por cuestiones de tiempo, ahora mi reto es este hacer el almanaque.

Se que tiene que llevar una parte de JS para la asignacion de los dias a la base de datos!!!, pero realmente es tan complicado hacerlo?

alguien sabe la respuestas a mis preguntas?

Me interesa mucho encontrar una funcion para determinar si la fecha dada es sabado o domingo....

De antemano gracias!!!
__________________
SEO en Medellin
  #4 (permalink)  
Antiguo 07/10/2005, 06:10
Avatar de yo12345  
Fecha de Ingreso: mayo-2005
Mensajes: 11
Antigüedad: 18 años, 11 meses
Puntos: 1
Para saber si una fecha es lunes ,martes ,etc te sirve con esto $numerodiasemana = date('w', mktime(0,0,0,$mes,$dia,$ano));
Pero ojo que va de 0 a 6 siendo 0 el domingo y 6 el sabado
Con esa misma funcion poninedo $dia =1 sabras el dia que empieza el mes .
  #5 (permalink)  
Antiguo 07/10/2005, 10:14
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
mafima

Te recomiendo que no te centres tanto en "PHP" para todo el cálculo de fechas, usa tu BD .. su SQL y funciones de SQL para trabajar con fechas.

Lo primero es definir como va a quedar tu Base de datos .. las tablas que la compongan y la relación que tengan entre ellas.

Tienes que definir tu "evento" y darle fecha cuando lo crees. En función de eso podrás generar tu calendario y si en tal feha ya hay un registro creado .. ahí podrás indentificarlo para no permitir más eventos en esa fecha .. o lo que corresponda.

Te recomiendo ver como trabaja alguno de estos calendarios:
http://www.phpclasses.org/browse/package/1616.html
(tienes muchos más en el mismo sitio)

Ahora .. si lo quieres hacer tu desde cero como reto personal ..OK. Entonces tendrás que ver por ejemplo como generar físicamente el HTML que corresponde para "pintar" tu calendario. Para eso no sé si ya conoces como generar una tabla HTML "dinámicamente" (en las FAQ's tienes un ejemplo simple) .. o como trabajar con las funciones de fechas de PHP (www.php.net/date .. o www.php.net/checkdate)

Empieza por lo básico .. centra temas en preguntas nuevas al foro y ahí vas armandolo todo.

Un saludo,
  #6 (permalink)  
Antiguo 07/10/2005, 11:28
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 21 años
Puntos: 24
Bueno pero como mas podria ser?

Cluseter atiendo tu sugerencias de la siguiente manera:

EN la base de datos, solo tendre una tabla que me almacena la fecha que ha sido reservada solo eso (POR AHORA NO QUIERO PONERLE EVENTOS), supongamos que es un calendario para reservar propiedades para arrendar, solo quiero saber determinada propiedad cuando esta reservada, entonces tendria la tabla mas o menos asi:

tabla calendario:
Campos:
ID_propidad
fecha_reserva


en esta tabla se almacenara cada dia que se reserve una determinada propiedad.

Lo que me preocupa es lo siguiente:
Se pondra lenta la base de datos?
es decir supongamos que por ahora solo hallan 100 propiedades y cada una la hallan reservado para todos los dias del mes de octubre, esto quiere decir que para una propiedad habran 31 registro en nuestra tabla calendario y como son 100 propiedades enotnces tendremos 3100 registros.

Lo malo seria que cuando valla a genrar el calendario dinamicamente, (generando las tablas) tendre que hacer una consulta por cada dia que se valla a generar, para confirmar que este dia no este en la tabla (teniendo en cuenta la propiedad)

es ecir me tocaria compara cad anumero que se valla amostrar en el calendario con 3100 registros para saber si lo subrrayo o no

Hay alguna otra forma?

Eso es lo que se m eha venido a la cabeza.
ahora imaginesen que en la base de datos tambien hara reservas de otros meses :S

PD : si tengo conociminetos de PHP avanzados pero no muchos, como decia llevo bastante tiempo trabajanod eln PHP, pero sinceramente necesito ayuda con esto, quiero hacerlo de la mejor forma posible, quiero explorar funciones de fechas ya que con ellas he trabajado muy poco.

CLUSTER, por que me recomiendas actuar directamente con las funciones de fechas del SQL?

un abrazo para todos espero un respuesta pronto...
__________________
SEO en Medellin
  #7 (permalink)  
Antiguo 07/10/2005, 15:32
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Lo que me preocupa es lo siguiente:
Se pondra lenta la base de datos?
es decir supongamos que por ahora solo hallan 100 propiedades y cada una la hallan reservado para todos los dias del mes de octubre, esto quiere decir que para una propiedad habran 31 registro en nuestra tabla calendario y como son 100 propiedades enotnces tendremos 3100 registros.
Fijate en los miles de mesajes que mueve forosdelweb.com al día .. fijate aunque lo lo creas la de decenas de relaciones que hay en el modelo de datos de estos foros para ofrecerte todo tipo de estadísticas .. fijate su própio sistema de calendario (http://www.forosdelweb.com/calendar.php).

Creo que te estás preocupando mucho de algo que es "normal" .. usar una BD.

Cita:
Lo malo seria que cuando valla a genrar el calendario dinamicamente, (generando las tablas) tendre que hacer una consulta por cada dia que se valla a generar, para confirmar que este dia no este en la tabla (teniendo en cuenta la propiedad)
Bueno .. esa sería una solución .. pero sería más rápido hacer una consulta SQL para obtener los registros que vas a mostrar y sólo -esos- .. Si tu muestras un calendario anual .. máximo tienes que consultar 365 registros a tu BD .. si lo haces mensual .. 30 registros .. Justo los registros que estén en el rango de fechas que estás viendo (ahí ya filtras mucho!!! y rápido en tu consulta SQL).

Yo insisto que no estaría de más que vieses como trabaja un calendario ya hecho (y no sólo uno .. ver vários) .. así veras incluso várias técnicas para afrontar el problema .. Por mi parte siempre enfoco el tema de "consultas a la BD" en función de lo que uno va a ver como usuario a la vez .. no creo que generes tu calendario de todo lo que hay en tu BD .. pero si que te vas a querer ver un año completo a la vez .. o lo más típico un mes .. una semana .. no más. Para eso tendrás que hacer sistemas de "páginado" (mover las fechas inicio y fin) para irte moviendo por toda tu BD .. (como lo hace todo sistema de calendario como podras ver aquí mismo el que usa el foro).

Un saludo,
  #8 (permalink)  
Antiguo 07/10/2005, 17:41
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 21 años
Puntos: 24
Eso hare

A cluster y los demas participante les agradesco mucho.

Ya les comentare como em ha ido un abrazo

GRACIAS!!
__________________
SEO en Medellin
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 23:58.