calendario rápido utilizando ajax y php

8
Calendario rápido utilizando AJAX y PHP Calendarios en línea a menudo se utilizan en muchas aplicaciones web. Aunque popular, la lógica creación de un calendario puede ser aterrador, especialmente para aquellos que son nuevos a la programación. Hay muchos calendarios de Internet en el mercado, pero algunos de ellos son bastan complicados. Si no somos capaces de entender el código, se hace más difícil para nosotros para p calendario para encajar en nuestra aplicación existente. Por lo tanto, tenemos que crear un cale puede conectar a sí mismo cualquier sistema sin problemas y sin problemas. Ya sea que estemos us Wordpress, Mambo / Joomla o Drupal, que sólo tendrá que insertar una línea en nuestro código par calendario de trabajo. es decir, algo como esto: <Php? require_once ( 'quick_calendar.php' ); ?> Si ya estás aburrido en este momento o no interesado en saber cómo crear un calendario de la tel ver una demostración en vivo del calendario sencillo aquí . Los procedimientos de instalación es código fuente . Aparte de la configuración de la base de datos de acceso para el calendario, no quiero cambiar o AJAX, que incluso podría hacer que la página estática como navegar entre los diferentes meses de calendario. En este tutorial, me gustaría compartir con ustedes un calendario sencillo que he cr los objetivos mencionados anteriormente. El tutorial se supone que tiene conocimientos básicos d pero no te preocupes, el código real es mínimo y usted debería ser capaz de personalizar fácilme la lectura de los comentarios. He utilizado PHP 4 de modo que sea compatible con la mayoría de l servidores. También debe ser capaz de volver a crear el calendario fácilmente en otros lenguajes programación utilizando la misma lógica. El primer paso: Identificación del problema Tal vez la parte más difícil en la creación de un calendario que está por venir para arriba con solución para mostrar los días del mes en la columna correcta, es decir, lunes, martes, etc .. 04 2006 Sol Lun Mar Casarse Jue Vie Sab 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

Upload: jhonedward

Post on 21-Jul-2015

479 views

Category:

Documents


1 download

TRANSCRIPT

Calendario rpido utilizando AJAX y PHPCalendarios en lnea a menudo se utilizan en muchas aplicaciones web. Aunque popular, la lgica detrs de la creacin de un calendario puede ser aterrador, especialmente para aquellos que son nuevos a la programacin. Hay muchos calendarios de Internet en el mercado, pero algunos de ellos son bastante complicados. Si no somos capaces de entender el cdigo, se hace ms difcil para nosotros para personalizar el calendario para encajar en nuestra aplicacin existente. Por lo tanto, tenemos que crear un calendario que se puede conectar a s mismo cualquier sistema sin problemas y sin problemas. Ya sea que estemos usando Wordpress, Mambo / Joomla o Drupal, que slo tendr que insertar una lnea en nuestro cdigo para el calendario de trabajo. es decir, algo como esto:

Si ya ests aburrido en este momento o no interesado en saber cmo crear un calendario de la tela, no dude en ver una demostracin en vivo del calendario sencillo aqu . Los procedimientos de instalacin est en el cdigo fuente . Aparte de la configuracin de la base de datos de acceso para el calendario, no quiero cambiar otras cosas. Con AJAX, que incluso podra hacer que la pgina esttica como navegar entre los diferentes meses del calendario. En este tutorial, me gustara compartir con ustedes un calendario sencillo que he creado que fufills los objetivos mencionados anteriormente. El tutorial se supone que tiene conocimientos bsicos de PHP y SQL, pero no te preocupes, el cdigo real es mnimo y usted debera ser capaz de personalizar fcilmente mediante la lectura de los comentarios. He utilizado PHP 4 de modo que sea compatible con la mayora de los servidores. Tambin debe ser capaz de volver a crear el calendario fcilmente en otros lenguajes de programacin utilizando la misma lgica.

El primer paso: Identificacin del problemaTal vez la parte ms difcil en la creacin de un calendario que est por venir para arriba con una buena solucin para mostrar los das del mes en la columna correcta, es decir, lunes, martes, etc .. 04 2006 Sol Lun Mar Casarse Jue Vie Sab 1 2 9 16 3 10 17 4 11 18 5 12 19 6 13 20 7 14 21 8 15 22

23 30

24

25

26

27

28

29

Tomemos, por ejemplo, abril 2006. Hay 30 das y 6 filas en el calendario. Si nos dan un da en el mes, digamos 15, tenemos que saber que cae en sbado y se encuentra en la tercera fila (tercera semana). No podemos dar por sentado que el primer da es siempre la primera celda de la tabla (celda superior izquierda).A veces, tenemos 4 o 5 semanas en un mes. Slo si sabemos cuntos das hay en un determinado mes y que el da primero del mes cae en slo podemos construir el calendario como se muestra arriba.

Obtencin de informacin crucial de la funcin de PHP datePHP proporciona una funcin date () que nos da un montn de informacin til acerca de los das y meses del ao. Para construir el calendario para cualquier mes, necesitamos 2 piezas importantes de informacin de la funcin de la fecha, es decir, el "nmero de das del mes" y una "representacin numrica del primer da del mes". Puedo conseguir la fecha de hoy con facilidad desde el siguiente cdigo: / / Obtener el Fecha de $ ao / / obtiene el meses la fecha / / obtener el das $ fecha = ao, por ejemplo, 2006 = ('Y'); mes, por ejemplo, 04 $ = ('n'); da, por ejemplo, 3 ('j') ;

Para obtener el nmero de das de este mes, voy a utilizar el la fecha y la funcin mktime de esta manera: / / Obtener el nmero de das en el mes, por ejemplo, 28 $ DaysInMonth = date ("t", mktime (0,0,0, $ mes, 1, $ ao));

La representacin numrica del da de la semana va de 0 a 6. 0 es Domingo y 6 es Sbado. Una vez ms, para llegar el da numrica primero de este mes, la funcin mktime viene muy bien. / / Obtiene el primer da del mes, por ejemplo, 4 $ FirstDay = date ("w", mktime (0,0,0, $ mes, 1, $ ao));

El calendario mensual como una matriz 2-DSi nos fijamos en el calendario de nuevo en abril de 2006, veremos que en realidad es una tabla (grilla) lleno de valores a partir de 1 de x (n de das del mes). El primer da del mes es una variable, aunque ... Puede ocurrir en cualquier da de la semana. En la tabla, cada celda imaginar como teniendo las coordenadas (x, y), a partir de la celda superior izquierda como (0,0) y la celda inferior derecha como (5,6). En el mes de abril, el primer da del mes se almacena en la coordenada (0,6). Por lo tanto, el plan ahora es almacenar los das del mes en una matriz de 2-D. En primer lugar, queremos conocer el nmero de clulas necesarias.

/ / Calcula el nmero total de espacios necesarios en orden de $ tempDays = $ FirstDay US $ DaysInMonth;

Entonces queremos saber el nmero de lneas necesarias. / / Calcula el total de filas necesitaba $ weeksInMonth techo = ($ tempDays / 7);

Rellenar la matriz 2-DConocer el nmero de filas y columnas de la matriz 2-D, ahora podemos llenar las matrices con los valores por medio de 2 bucles for. La primera celda se iniciar con un valor de 1 y las clulas posteriores tendrn sus valores aumentados en 1 hasta que se alcanza el final de la matriz.

? Para el mes de abril, la matriz temporal debe ser algo como esto: 1 8 15 22 29 36 2 9 16 23 30 37 3 10 17 24 31 38 4 11 18 25 32 39 5 12 19 26 33 40 6 13 20 27 34 41 7 14 21 28 35 42

$ contador ;

La magia de desplazamientoComo puede ver, por encima de la matriz no es correcto. El primer da de abril, es decir, un valor debe estar en (0,6) en lugar de (0,0). Recuerde que la variable $ FirstDay? Es la representacin numrica del primer da del mes que pasa a ser 6 en abril de 2006. Si restamos $ FirstDay de todos los valores de la matriz, vamos a obtener la matriz de la siguiente manera: -5 -4 -3 -2 -1 0 1

2 9 16 23 30

3 10 17 24 31

4 11 18 25 32

5 12 19 26 33

6 13 20 27 34

7 14 21 28 35

8 15 22 29 36

Ahora debera ser capaz de adivinar lo que vamos a hacer a continuacin. En cuanto a la matriz anterior, se ve que ya tiene los valores que queremos, pero tambin tenemos algunos valores no deseados. Cualquier nmero menor que 1 o ms de $ DaysInMonth (nmero de das en un mes) debe ser ignorado.

? weeksInMonth ; $ j + +) { for ( $ i = 0 ; $ i < 7 ; $ i + +) { $ contador + +; $ this -> semana [ $ j ] [ $ i ] = / / compensar los das $ this -> semana [ $ j ] [ $ i ] - = > semana [ $ j ] [ $ i ]> } } } } ?>Esta es la funcin bsica en el algoritmo de calendario de toda una generacin.

$ contador ; $ this -> FirstDay ; 1 ) | | ( $ this "" ;

if (( $ this -> semana [ $ j ] [ $ i ] < $ this -> DaysInMonth )) { $ this -> semana [ $ j ] [ $ i ] =

Visualizacin del calendarioObtencin de los valores de la derecha de la matriz 2-D, ahora estamos listos para mostrarlos. Ahora, vamos a crear una mesa y empezar de nuevo utilizando el bucle

foreach funcin.