L'objectif ici est d'avoir une interface dynamique de calendrier semblable à celle utilisée chez MS. Bien entendu, ceci fonctionne très bien en JavaScript, mais ici je reste côté serveur !
Vous remarquerez que chaque jour possède un lien dynamique que vous pouvez ajuster en fonction de vos besoins ! A vous de tester !!! N'hésitez pas à me donner votre avis !!! Dès que j'ai un peu plus de temps, je mets la suite ! Pour m'écrire et m'encourager... redo@asp-php.net
function nom_mois (mois) select case mois case "1" nom_mois = "Janvier" case "2" nom_mois = "Février" case "3" nom_mois = "Mars" case "4" nom_mois = "Avril" case "5" nom_mois = "Mai" case "6" nom_mois = "Juin" case "7" nom_mois = "Juillet" case "8" nom_mois = "Août" case "9" nom_mois = "Septembre" case "10" nom_mois = "Octobre" case "11" nom_mois = "Novembre" case "12" nom_mois = "Décembre" end select end function
' ------------------------------------------------------------------------------------------- ' ---------------------------- Fin Fonction ------------------------------------------------ ' -------------------------------------------------------------------------------------------
D=date()
' --- récupération du mois recherché --- '
mois = request.querystring("mois")
if mois = "" then D=date() else an=year(D) D=dateserial(an,mois,1) end if
' --- récupération de l'année recherchée --- '
an = request.querystring("an")
if an = "" then D=date() else mois=month(D) D=dateserial(an,mois,1) end if
' --- détermination du jour de la semaine pour le premier du mois --- ' pos_premier = Weekday(D1,2) pos_premier = pos_premier - 1
' --- détermination des variables de calcul du tableau --- ' j=1 ' compteur de jours du mois l=0 ' compteur de ligne... permet de déterminer le positionnement du 1 dans la première ligne c=0 ' compteur de cellule... permet de déterminer le saut de ligne du tableau p=0 ' positionnement du premier jours du mois dans une semaine de 7 jours %>
<table > <tr> <td colspan="7"> <p align="center"> <select onchange="window.location='?an=<%= an %>&mois='+this.value"> <option value="1" <% if mois=1 then response.write "selected" end if%> >Janvier</option> <option value="2" <% if mois=2 then response.write "selected" end if%> >Février</option> <option value="3" <% if mois=3 then response.write "selected" end if%> >Mars</option> <option value="4" <% if mois=4 then response.write "selected" end if%> >Avril</option> <option value="5" <% if mois=5 then response.write "selected" end if%> >Mai</option> <option value="6" <% if mois=6 then response.write "selected" end if%> >Juin</option> <option value="7" <% if mois=7 then response.write "selected" end if%> >Juillet</option> <option value="8" <% if mois=8 then response.write "selected" end if%> >Août</option> <option value="9" <% if mois=9 then response.write "selected" end if%> >Septembre</option> <option value="10" <% if mois=10 then response.write "selected" end if%> >Octobre</option> <option value="11" <% if mois=11 then response.write "selected" end if%> >Novembre</option> <option value="12" <% if mois=12 then response.write "selected" end if%> >Décembre</option> </select> - <select onchange="window.location='?mois=<%=mois%>&an='+this.value"> <% for i = an_deb to an_fin %> <option value="<%= an_deb %>" <% if an=an_deb then response.write "selected" end if%> ><%= an_deb %></option> <% an_deb = an_deb + 1 next %> </select> </td> </tr> <tr> <BR> </tr> <tr bgcolor="#F4F28C" bordercolor="#F4F28C"> <td align="center"><font color="#000000" size="2" face="Arial">L</font></td> <td align="center"><font color="#000000" size="2" face="Arial">M</font></td> <td align="center"><font color="#000000" size="2" face="Arial">M</font></td> <td align="center"><font color="#000000" size="2" face="Arial">J</font></td> <td align="center"><font color="#000000" size="2" face="Arial">V</font></td> <td align="center"><font color="#000000" size="2" face="Arial">S</font></td> <td align="center"><font color="#000000" size="2" face="Arial">D</font></td> </tr> <tr> <% for i = 1 to jours_mois ' --- incrémentation de ma variable cellule jusqu'à la valeur 7 --- c=c+1
if l=0 then for p = 1 to pos_premier c=c+1 %> <td align="center"><font size="2" face="Arial"></font></td> <% next end if date_agenda = dateserial(an,mois,i) %> <td align="center" <% if date_agenda = date() then %> style="border:1 solid #FF0000" <% end if %> > <font size="2" face="Arial"> <a href="?daterdv=<%= date_agenda %>" ><%= i %></a> </font> </td> <% ' --- gestion du retour à la ligne après 7 jours affichés --- if c=7 then response.write "</tr>" c=0 end if ' --- incrémente la variable l précisant le passage à la deuxième ligne --- l=1 ' --- boucle de mon for to next --- next