Accueil > > > CALENDRIER SIMPLE, FACILEMENT MODIFIABLE, AFFICHAGE COMPLET
CALENDRIER SIMPLE, FACILEMENT MODIFIABLE, AFFICHAGE COMPLET
Information sur la source
Description
Bonjour, Je vous propose pas quelque chose de révolutionnaire, mais bon... En fait j'avais besoin d'un petit script pour afficher un calendrier pour ensuite y ajouter la mise en forme et les liens evenements mais j'ai trouvé que des calendriers tout fait utilisant une bdd ou alors des tout simples mais au code pas très simple ( et surtout pas très clair ) donc voilà j'en ai fais un maison. La seule particularité c'est qu'il afficher aussi les dates des jours du mois d'avant et celui d'après ( c'est pas très clair? allez voir le lien vous comprendrez ). Je les ais affiché dans une couleur plus claire pour qu'ils apparaissent moins, mais bon le but c'est que vous modifiez le code à votre envie donc je suis pas allez cherché loin. Le lien pour tester : http://pproject.webzzanine.net/calendrier.php L e code :
Source
- <?php
- // Récuperation des variables passées, on donne soit année; mois; année+mois
- if(!isset($_GET['mois'])) $num_mois = date("n"); else $num_mois = $_GET['mois'];
- if(!isset($_GET['annee'])) $num_an = date("Y"); else $num_an = $_GET['annee'];
-
- // pour pas s'embeter a les calculer a l'affchage des fleches de navigation...
- if($num_mois < 1) { $num_mois = 12; $num_an = $num_an - 1; }
- elseif($num_mois > 12) { $num_mois = 1; $num_an = $num_an + 1; }
-
- // nombre de jours dans le mois et numero du premier jour du mois
- $int_nbj = date("t", mktime(0,0,0,$num_mois,1,$num_an));
- $int_premj = date("w",mktime(0,0,0,$num_mois,1,$num_an));
-
- // tableau des jours, tableau des mois...
- $tab_jours = array("","Lu","Ma","Me","Je","Ve","Sa","Di");
- $tab_mois = array("","Janvier","Fevrier","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Decembre");
-
- $int_nbjAV = date("t", mktime(0,0,0,($num_mois-1<1)?12:$num_mois-1,1,$num_an)); // nb de jours du moi d'avant
- $int_nbjAP = date("t", mktime(0,0,0,($num_mois+1>12)?1:$num_mois+1,1,$num_an)); // b de jours du mois d'apres
-
- // on affiche les jours du mois et aussi les jours du mois avant/apres, on les indique par une * a l'affichage on modifie l'apparence des chiffres *
- $tab_cal = array(array(),array(),array(),array(),array(),array()); // tab_cal[Semaine][Jour de la semaine]
- $int_premj = ($int_premj == 0)?7:$int_premj;
- $t = 1; $p = "";
- for($i=0;$i<6;$i++) {
- for($j=0;$j<7;$j++) {
- if($j+1 == $int_premj && $t == 1) { $tab_cal[$i][$j] = $t; $t++; } // on stocke le premier jour du mois
- elseif($t > 1 && $t <= $int_nbj) { $tab_cal[$i][$j] = $p.$t; $t++; } // on incremente a chaque fois...
- elseif($t > $int_nbj) { $p="*"; $tab_cal[$i][$j] = $p."1"; $t = 2; } // on a mis tout les numeros de ce mois, on commence a mettre ceux du suivant
- elseif($t == 1) { $tab_cal[$i][$j] = "*".($int_nbjAV-($int_premj-($j+1))+1); } // on a pas encore mis les num du mois, on met ceux de celui d'avant
- }
- }
- ?>
-
- <html>
- <head><title>Calendrier</title>
- </head>
- <body>
- <table>
- <tr><td colspan="7" align="center"><a href="calendrier.php?mois=<?php echo $num_mois-1; ?>&annee=<?php echo $num_an; ?>"><<</a> <?php echo $tab_mois[$num_mois]; ?> <a href="calendrier.php?mois=<?php echo $num_mois+1; ?>&annee=<?php echo $num_an; ?>">>></a></td></tr>
- <tr><td colspan="7" align="center"><a href="calendrier.php?mois=<?php echo $num_mois; ?>&annee=<?php echo $num_an-1; ?>"><<</a> <?php echo $num_an; ?> <a href="calendrier.php?mois=<?php echo $num_mois; ?>&annee=<?php echo $num_an+1; ?>">>></a></td></tr>
- <?php
- echo'<tr>';
- for($i = 1; $i <= 7; $i++){
- echo('<td>'.$tab_jours[$i].'</td>');
- }
- echo'</tr>';
-
- for($i=0;$i<6;$i++) {
- echo "<tr>";
- for($j=0;$j<7;$j++) {
- echo "<td".(($num_mois == date("n") && $num_an == date("Y") && $tab_cal[$i][$j] == date("j"))?' style="color: #FFFFFF; background-color: #000000;"':null).">".((strpos($tab_cal[$i][$j],"*")!==false)?'<font color="#aaaaaa">'.str_replace("*","",$tab_cal[$i][$j]).'</font>':$tab_cal[$i][$j])."</td>";
- }
- echo "</tr>";
- }
- ?>
- </table>
- </body>
- </html>
<?php
// Récuperation des variables passées, on donne soit année; mois; année+mois
if(!isset($_GET['mois'])) $num_mois = date("n"); else $num_mois = $_GET['mois'];
if(!isset($_GET['annee'])) $num_an = date("Y"); else $num_an = $_GET['annee'];
// pour pas s'embeter a les calculer a l'affchage des fleches de navigation...
if($num_mois < 1) { $num_mois = 12; $num_an = $num_an - 1; }
elseif($num_mois > 12) { $num_mois = 1; $num_an = $num_an + 1; }
// nombre de jours dans le mois et numero du premier jour du mois
$int_nbj = date("t", mktime(0,0,0,$num_mois,1,$num_an));
$int_premj = date("w",mktime(0,0,0,$num_mois,1,$num_an));
// tableau des jours, tableau des mois...
$tab_jours = array("","Lu","Ma","Me","Je","Ve","Sa","Di");
$tab_mois = array("","Janvier","Fevrier","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Decembre");
$int_nbjAV = date("t", mktime(0,0,0,($num_mois-1<1)?12:$num_mois-1,1,$num_an)); // nb de jours du moi d'avant
$int_nbjAP = date("t", mktime(0,0,0,($num_mois+1>12)?1:$num_mois+1,1,$num_an)); // b de jours du mois d'apres
// on affiche les jours du mois et aussi les jours du mois avant/apres, on les indique par une * a l'affichage on modifie l'apparence des chiffres *
$tab_cal = array(array(),array(),array(),array(),array(),array()); // tab_cal[Semaine][Jour de la semaine]
$int_premj = ($int_premj == 0)?7:$int_premj;
$t = 1; $p = "";
for($i=0;$i<6;$i++) {
for($j=0;$j<7;$j++) {
if($j+1 == $int_premj && $t == 1) { $tab_cal[$i][$j] = $t; $t++; } // on stocke le premier jour du mois
elseif($t > 1 && $t <= $int_nbj) { $tab_cal[$i][$j] = $p.$t; $t++; } // on incremente a chaque fois...
elseif($t > $int_nbj) { $p="*"; $tab_cal[$i][$j] = $p."1"; $t = 2; } // on a mis tout les numeros de ce mois, on commence a mettre ceux du suivant
elseif($t == 1) { $tab_cal[$i][$j] = "*".($int_nbjAV-($int_premj-($j+1))+1); } // on a pas encore mis les num du mois, on met ceux de celui d'avant
}
}
?>
<html>
<head><title>Calendrier</title>
</head>
<body>
<table>
<tr><td colspan="7" align="center"><a href="calendrier.php?mois=<?php echo $num_mois-1; ?>&annee=<?php echo $num_an; ?>"><<</a> <?php echo $tab_mois[$num_mois]; ?> <a href="calendrier.php?mois=<?php echo $num_mois+1; ?>&annee=<?php echo $num_an; ?>">>></a></td></tr>
<tr><td colspan="7" align="center"><a href="calendrier.php?mois=<?php echo $num_mois; ?>&annee=<?php echo $num_an-1; ?>"><<</a> <?php echo $num_an; ?> <a href="calendrier.php?mois=<?php echo $num_mois; ?>&annee=<?php echo $num_an+1; ?>">>></a></td></tr>
<?php
echo'<tr>';
for($i = 1; $i <= 7; $i++){
echo('<td>'.$tab_jours[$i].'</td>');
}
echo'</tr>';
for($i=0;$i<6;$i++) {
echo "<tr>";
for($j=0;$j<7;$j++) {
echo "<td".(($num_mois == date("n") && $num_an == date("Y") && $tab_cal[$i][$j] == date("j"))?' style="color: #FFFFFF; background-color: #000000;"':null).">".((strpos($tab_cal[$i][$j],"*")!==false)?'<font color="#aaaaaa">'.str_replace("*","",$tab_cal[$i][$j]).'</font>':$tab_cal[$i][$j])."</td>";
}
echo "</tr>";
}
?>
</table>
</body>
</html>
Conclusion
Voilà, voilà n'hésitez pas à critiquer ^^
Historique
- 12 mai 2007 19:09:51 :
- ( Màj : Oubli du lien test )
- 12 mai 2007 21:07:51 :
- -----
- 13 mai 2007 11:57:13 :
- ( Màj : highlight du jour )
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
calendrier multi utilisateurs très simple ? [ par pti_suisse ]
bonjour, en fait voila j'aimerais mettre sur mon site un espace ou l'on pourrait créé son calendrier et changer les couleur de certaines cel
Tableau Modifiable [ par Firemetal ]
Bonjour,Voilà, j'ai besoin de votre aide :)Je m'y connais peu en php, et je ne sais pas si le html ne serait pas plus simple pour faire ce que je dois
CALENDRIER de réservation. [ par ouadzi ]
Bonjour à tous, Dans le cadre d'un création d'un site web pour un gîte français, je souhaitais intégrer un simple calendrier
Besoin d'un conseil (Simple) [ par hitman00 ]
Coucou a tous ceux qui lirons cette question Donc j'ai une petite question ,sur un serveur j'ai une base sql serveur et j'aimerais m'y connecter
EasyPhp question simple [ par hitman00 ]
Coucou .Est il possible de se connecter a une base de donnée se trouvant sur un serveur distant avec easyPhP ?
question simple dur l'action d'un formulaire [ par developvbdebut ]
Bonjour tout le monde Je voudrais mêttre mon script php en dessou du formulaire, j'ignore quoi mettre dans l'action du formulaire.Voici
Un p'tit code simple mais je sais pas comment le faire ! [ par N e x u m ]
Salut,je voudrais avoir un simple code SANS MYSQL (Si possible) Qui garde le même design dans chaque pageAdmettons on a un design (Un look, un interfa
Help me....travaille en php "simple" mais payé.....!! [ par Maniac ]
Salut,voila je n'y connais rien du tout en php, mais je dois "simplement" faire un forum pour un client pour qui je developpe son site...Si qq1 savait
code simple pour formulaire [ par bernard ]
bonsoir à tous, je suis débutant de chez débutant et j'ai besoin d'aide.je voudrais réaliser un programme en php.il s'agit d'un formulaire où le visit
PROBLEME SIMPLE [ par g0belin ]
sa me repond sa---------------------------ERREUR--------------------Réponse serveur SQL : You have an error in your SQL syntax near '@msn.com, 1234567
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
GOOGLE MAPGOOGLE MAP par fatmanajjar
Cliquez pour lire la suite par fatmanajjar
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|