begin process at 2012 05 27 22:00:52
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Date / Heure

 > CALENDRIER + AGENDA TRÈS SIMPLE (GERER LES JOURS FÉRIÉS ET LES JOURS SPÉCIAUX)

CALENDRIER + AGENDA TRÈS SIMPLE (GERER LES JOURS FÉRIÉS ET LES JOURS SPÉCIAUX)


 Information sur la source

Note :
7,5 / 10 - par 2 personnes
7,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Date / Heure Classé sous :calendrier, agenda, date, jours, mois Niveau :Débutant Date de création :09/09/2009 Date de mise à jour :10/09/2009 17:10:44 Vu / téléchargé :12 138 / 1 750

Auteur : mondherclubiste

Ecrire un message privé
Site perso
Commentaire sur cette source (31)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Salut,
Voici un script très simple d'une agenda en ligne , au quelle on peut gérer les jours fériées et les jours spéciaux.
L'avantage de ce script est qu'il est très simple à le paramétrer pour qu'il répond à vos besoins (pour une agenda).
Coté graphiquement il est très simple aussi de le modifier grâce au fichiers CSS

Source

  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  • <html xmlns="http://www.w3.org/1999/xhtml">
  • <head>
  • <title>Agenda en PHP</title>
  • <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  • <link href="style.css" rel="stylesheet" type="text/css" />
  • </head>
  • <?php
  • $list_fer=array(7);//Liste pour les jours ferié; EX: $list_fer=array(7,1)==>tous les dimanches et les Lundi seront des jours fériers
  • $list_spe=array('1986-10-31','2009-4-12','2009-9-23');//Mettez vos dates des evenements ; NB format(annee-m-j)
  • $lien_redir="date_info.php";//Lien de redirection apres un clic sur une date, NB la date selectionner va etre ajouter à ce lien afin de la récuperer ultérieurement
  • $clic=1;//1==>Activer les clic sur tous les dates; 2==>Activer les clic uniquement sur les dates speciaux; 3==>Désactiver les clics sur tous les dates
  • $col1="#d6f21a";//couleur au passage du souris pour les dates normales
  • $col2="#8af5b5";//couleur au passage du souris pour les dates speciaux
  • $col3="#6a92db";//couleur au passage du souris pour les dates férié
  • $mois_fr = Array("", "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août","Septembre", "Octobre", "Novembre", "Décembre");
  • if(isset($_GET['mois']) && isset($_GET['annee']))
  • {
  • $mois=$_GET['mois'];
  • $annee=$_GET['annee'];
  • }
  • else
  • {
  • $mois=date("n");
  • $annee=date("Y");
  • }
  • $ccl2=array($col1,$col2,$col3);
  • $l_day=date("t",mktime(0,0,0,$mois,1,$annee));
  • $x=date("N", mktime(0, 0, 0, $mois,1 , $annee));
  • $y=date("N", mktime(0, 0, 0, $mois,$l_day , $annee));
  • $titre=$mois_fr[$mois]." : ".$annee;
  • //echo $l_day;
  • ?>
  • <body>
  • <center>
  • <form name="dt" method="get" action="">
  • <select name="mois" id="mois" onChange="change()" class="liste">
  • <?php
  • for($i=1;$i<13;$i++)
  • {
  • echo '<option value="'.$i.'"';
  • if($i==$mois)
  • echo ' selected ';
  • echo '>'.$mois_fr[$i].'</option>';
  • }
  • ?>
  • </select>
  • <select name="annee" id="annee" onChange="change()" class="liste">
  • <?php
  • for($i=1950;$i<2035;$i++)
  • {
  • echo '<option value="'.$i.'"';
  • if($i==$annee)
  • echo ' selected ';
  • echo '>'.$i.'</option>';
  • }
  • ?>
  • </select>
  • </form>
  • <table class="tableau"><caption><?php echo $titre ;?></caption>
  • <tr><th>Lun</th><th>Mar</th><th>Mer</th><th>Jeu</th><th>Ven</th><th>Sam</th><th>Dim</th></tr>
  • <tr>
  • <?php
  • //echo $y;
  • $case=0;
  • if($x>1)
  • for($i=1;$i<$x;$i++)
  • {
  • echo '<td class="desactive">&nbsp;</td>';
  • $case++;
  • }
  • for($i=1;$i<($l_day+1);$i++)
  • {
  • $f=$y=date("N", mktime(0, 0, 0, $mois,$i , $annee));
  • $da=$annee."-".$mois."-".$i;
  • $lien=$lien_redir;
  • $lien.="?dt=".$da;
  • echo "<td";
  • if(in_array($da, $list_spe))
  • {
  • echo " class='special' onmouseover='over(this,1,2)'";
  • if($clic==1||$clic==2)
  • echo " onclick='go_lien(\"$lien\")' ";
  • }
  • else if(in_array($f, $list_fer))
  • {
  • echo " class='ferier' onmouseover='over(this,2,2)'";
  • if($clic==1)
  • echo " onclick='go_lien(\"$lien\")' ";
  • }
  • else
  • {
  • echo" onmouseover='over(this,0,2)' ";
  • if($clic==1)
  • echo " onclick='go_lien(\"$lien\")' ";
  • }
  • echo" onmouseout='over(this,0,1)'>$i</td>";
  • $case++;
  • if($case%7==0)
  • echo "</tr><tr>";
  • }
  • if($y!=7)
  • for($i=$y;$i<7;$i++)
  • {
  • echo '<td class="desactive">&nbsp;</td>';
  • }
  • ?></tr>
  • </table>
  • </center>
  • </body></html>
  • <script type="text/javascript">
  • function change()
  • {
  • document.dt.submit();
  • }
  • function over(this_,a,t)
  • {
  • <?php
  • echo "var c2=['$ccl2[0]','$ccl2[1]','$ccl2[2]'];";
  • ?>
  • var col;
  • if(t==2)
  • this_.style.backgroundColor=c2[a];
  • else
  • this_.style.backgroundColor="";
  • }
  • function go_lien(a)
  • {
  • top.document.location=a;
  • }
  • </script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Agenda en PHP</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<?php
$list_fer=array(7);//Liste pour les jours ferié; EX: $list_fer=array(7,1)==>tous les dimanches et les Lundi seront des jours fériers

$list_spe=array('1986-10-31','2009-4-12','2009-9-23');//Mettez vos dates des evenements ; NB format(annee-m-j)

$lien_redir="date_info.php";//Lien de redirection apres un clic sur une date, NB la date selectionner va etre ajouter à ce lien afin de la récuperer ultérieurement 

$clic=1;//1==>Activer les clic sur tous les dates; 2==>Activer les clic uniquement sur les dates speciaux; 3==>Désactiver les clics sur tous les dates

$col1="#d6f21a";//couleur au passage du souris pour les dates normales

$col2="#8af5b5";//couleur au passage du souris pour les dates speciaux

$col3="#6a92db";//couleur au passage du souris pour les dates férié

$mois_fr = Array("", "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août","Septembre", "Octobre", "Novembre", "Décembre");


if(isset($_GET['mois']) && isset($_GET['annee']))
{
	$mois=$_GET['mois'];
	$annee=$_GET['annee'];
}
else
{
	$mois=date("n");
	$annee=date("Y");
}
$ccl2=array($col1,$col2,$col3);
$l_day=date("t",mktime(0,0,0,$mois,1,$annee));
$x=date("N", mktime(0, 0, 0, $mois,1 , $annee));
$y=date("N", mktime(0, 0, 0, $mois,$l_day , $annee));
$titre=$mois_fr[$mois]." : ".$annee;
//echo $l_day;
?>
<body>
<center>
<form name="dt" method="get" action="">
<select name="mois" id="mois" onChange="change()" class="liste">
<?php
	for($i=1;$i<13;$i++)
	{
		echo '<option value="'.$i.'"';
		if($i==$mois)
			echo ' selected ';
		echo '>'.$mois_fr[$i].'</option>';
	}
?>
</select>
<select name="annee" id="annee" onChange="change()" class="liste">
<?php
	for($i=1950;$i<2035;$i++)
	{
		echo '<option value="'.$i.'"';
		if($i==$annee)
			echo ' selected ';
		echo '>'.$i.'</option>';
	}
?>
</select>
</form>
<table class="tableau"><caption><?php echo $titre ;?></caption>
<tr><th>Lun</th><th>Mar</th><th>Mer</th><th>Jeu</th><th>Ven</th><th>Sam</th><th>Dim</th></tr>
<tr>
<?php
//echo $y;
$case=0;
if($x>1)
	for($i=1;$i<$x;$i++)
	{
		echo '<td class="desactive">&nbsp;</td>';
		$case++;
	}
for($i=1;$i<($l_day+1);$i++)
{
	$f=$y=date("N", mktime(0, 0, 0, $mois,$i , $annee));
	$da=$annee."-".$mois."-".$i;
	$lien=$lien_redir;
	$lien.="?dt=".$da;
	echo "<td";
	if(in_array($da, $list_spe))
	{
		echo " class='special' onmouseover='over(this,1,2)'";
		if($clic==1||$clic==2)
			echo " onclick='go_lien(\"$lien\")' ";
	}
	else if(in_array($f, $list_fer))
	{
		echo " class='ferier' onmouseover='over(this,2,2)'";
		if($clic==1)
			echo " onclick='go_lien(\"$lien\")' ";
	}
	else 
	{
		echo" onmouseover='over(this,0,2)' ";
		if($clic==1)
			echo " onclick='go_lien(\"$lien\")' ";
	}
	echo" onmouseout='over(this,0,1)'>$i</td>";
	$case++;
	if($case%7==0)
		echo "</tr><tr>";
	
}
if($y!=7)
	for($i=$y;$i<7;$i++)
	{
		echo '<td class="desactive">&nbsp;</td>';
	}
?></tr>
</table>
</center>
</body></html>

<script type="text/javascript">
function change()
{
	document.dt.submit();
}
	function over(this_,a,t)
{
	<?php 
	echo "var c2=['$ccl2[0]','$ccl2[1]','$ccl2[2]'];";
	?>
	var col;
	if(t==2)
		this_.style.backgroundColor=c2[a];
	else
		this_.style.backgroundColor="";
}
function go_lien(a)
{
	top.document.location=a;
}
</script>

 Conclusion

Finalement j'espère que certains trouvent leurs bonheur dans ce script :)
Le zip contient 2 versions :
une version simple (juste le calendrier)
une version plus approfondi (calendrier + module pour gérer les date et les consulter), cette version nécessite une connexion à une base de donnée


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

10 septembre 2009 13:14:04 :
Quelques Modifications sur le code : Ajout des tag Html, Body et ajout du Doctype
10 septembre 2009 17:10:44 :
Ajout d'un module pour gérer et consulter les dates spéciaux

 Sources du même auteur

UPLOAD + AFFICHAGE ET SUPPRESSION DU CONTENU D'UN DOSSIER (I...

 Sources de la même categorie

Source avec une capture AGENDA GRAPHIQUE SIMPLE (DÉBUTANT) À INTÉGRER par NicomakM
CALCUL DU NOMBRE DE JOURS CONTENUS DANS L'INTERSECTION DE DE... par curphey
CALENDRIER EN 70 LIGNES par tchconst
Source avec Zip CALENDRIER par gabay
CALENDRIER SIMPLE par manuche

 Sources en rapport avec celle ci

CALENDRIER SIMPLE par manuche
Source avec Zip Source avec une capture CALENDRIER par pichpoich
CALCUL SIMPLE DU NOMBRE DE JOURS OUVRÉS ENTRE DEUX DATES (JO... par Astemius
JOURS OUVRES par malalam
Source avec Zip Source avec une capture CALENDRIER - FLOPTWO par floptwo

Commentaires et avis

Commentaire de astro53 le 10/09/2009 10:25:58

Salut mondherclubiste,
Le code est commente et bien indente...Tres facile a lire. bravo.
Mais ou est le tag body d'ouverture et ou sont les tags body et html de fermeture?
Pourquoi n'as tu pas mis tes fonctions javascript dans un fichier a part?
Astro

Commentaire de g41687 le 10/09/2009 10:36:10

Il manque aussi :
<!DOCTYPE ...
le fichier date_info.php !!!

Plus une petite correction :
<script type="text/javascript"> (au lieu de "language=javascript")

A part cela , même avis qu'Astro53 : pas mal ;o)

Commentaire de mondherclubiste le 10/09/2009 13:23:46

Salut et Merci pour votre participation sur ce code,
J'ai ajouté les tag Html et body et le DOCTYPE,
Concernant le fichier javascript, je suis obligé d'écrire mes fonction dans le script php puisque dans ces derniers je fais appel à une variable de PHP
Et pour le fichier date_info.php, c'est à vous de le coder selon vos besoins (soit afficher les informations sur la date sélectionner, soit pour ajouter un evenement,...)

Commentaire de astro53 le 10/09/2009 13:34:31

Salut Mondherclubiste,
Pourrais tu stp ajouter un fichier date_info.php comme exemple pour que les personnes qui ne savent pas comment coder ce fichier puisse se servir de ton exemple.
Je pense que ca en interesserait plus d'un.
N'ayant pas lu en profondeur ton code je ne sais meme pas si je serais capable de construire ce fichier.
Merci d'avance.
Astro

Commentaire de g41687 le 10/09/2009 13:48:58

@Mondherclubiste

Ce que je voulais dire c'est de changer juste :
<script language="javascript"> (invalid W3C ;o)
par :
<script type="text/javascript">

Commentaire de mondherclubiste le 10/09/2009 14:08:12

@ASTRO53
le fichier date_info.php n'a aucune relation avec l'agenda juste dans ce script on suppose de récupérer la date sélectionnée, mais quand meme je vais ajouté 2 script pour gérer et consulter les dates speciaux.

@G41687  
Oui c'est déjà changé :)

Commentaire de g41687 le 10/09/2009 14:56:23

@Mondherclubiste

Oupss j'avais pas vu, désolé.
Par contre, je viens de voir qu'il manque le mois de décembre ;o)
=> for($i=1;$i<13;$i++) au lieu de for($i=1;$i<12;$i++) en ligne 48

Commentaire de mondherclubiste le 10/09/2009 17:15:27

@ASTRO53
J'ai modifié le zip , dans ce dernier tu trouvera un exemple complet pour l'utilisation de ce calendrier.
Dans cet exemple tu pourra : Ajouter, supprimer, modifier et consulter des évenements
:)

Commentaire de astro53 le 10/09/2009 18:16:44

Merci @Mondherclubiste

Commentaire de verdiergreg le 11/09/2009 16:17:38

Bonjour,
je souhaite juste signaler un bug dans ton pogramme qui a l'air tres simple et pratique:
En mode admin, chaque fois qu'on retourne sur l'événement, le lieu et l'événement concerné s'inverse dans ta table.
On se retrouve donc une fois sur deux avec un événement: au bureau, lieu: reunion de projet

Commentaire de seby20 le 14/09/2009 13:39:49

Bonjour, est-ce possible de l'utiliser avec ma table mysql déjà existante? Et d'afficher mes propre chose dans le calendrier?

Merci

Seby

Commentaire de mondherclubiste le 14/09/2009 16:51:54

oui c'est possible, d'ailleurs c'est le but de ce calendrier .
Il te suffit de parcourir ta table mysql et remplir la variable $list_spe par les valeurs de ta base
ex:
$sql="select dt from agenda";
$req=mysql_query($sql);
$k=0;
while($data=mysql_fetch_array($req))
{
$list_spe[$k]=$data[0];
$k++;
}
if($k==0)
$list_spe[0]="";

ensuite tu  change la variable :$lien_redir par le lien de ton script auquel tu affichera les informations sur la date selectionné.
Si tu as d'autres questions n'hésite pas à les poster .

Commentaire de seby20 le 14/09/2009 17:05:19

Ouch, c'est un peu chinois pour moi, lol, est-ce possible d'être un petit peu plus clair
Merci

Seby

Commentaire de mondherclubiste le 14/09/2009 17:12:04

Alors envoi moi ta structure de table Mysql pour que je puisse modifier le code pour vous

Commentaire de seby20 le 14/09/2009 17:22:31

Voici
CREATE TABLE `cal_appels` (
  `id` int(11) NOT NULL auto_increment,
  `raison` varchar(255) NOT NULL,
  `notes` text NOT NULL,
  `date_evt` date NOT NULL,
  `date_suivi` date NOT NULL,
  `action` text NOT NULL,
  `client_id` int(11) NOT NULL,
  `terminer` tinyint(1) NOT NULL,
  PRIMARY KEY  (`id`),
  KEY `date_evt` (`date_evt`,`date_suivi`)
) ENGINE=MyISAM AUTO_INCREMENT=55 DEFAULT CHARSET=utf8 AUTO_INCREMENT=55 ;

Merci
Seby

Commentaire de francoisco le 16/09/2009 08:41:14

Ce script correspond à ce que je recherche à faire. Merci.
Deux problèmes cependant: Comment mettre plusieurs évènements sur la même date et lorsque l'on est en mode administrateur les lieux et évènements s'échangent (Cf la remarque de VERDIERGREG du 11/09/09 à 16:17:38)
Merci d'avance pour les infos complémentaires

Commentaire de mondherclubiste le 19/09/2009 14:16:34

Salut,
Le but de ce script est de fournir une calendrier très simple, l'exemple dans le ZIP est une simple démonstration de l'utilisation de cette calendrier, donc cette dernière peut s'adapter à tous vos besoins, juste il vous faut de coder vos propres scripts ,ensuite les intégrer à cette calendrier   :)

Commentaire de seby20 le 19/09/2009 14:55:00

Bonjour, j'ai réussi à le faire fonctionner avec une table de mysql... merci.
Ma question, comment intégrer 3 table différente dans le même calendrier... Genre, Appel, Rendez-vous, ToDo List
Merci

Seby

Commentaire de seby20 le 25/09/2009 20:51:55

Rebonjour, je n'ai pas eu de réponse à ma question suivant:

j'ai réussi à le faire fonctionner avec une table de mysql... merci.
Ma question, comment intégrer 3 table différente dans le même calendrier... Genre, Appel, Rendez-vous, ToDo List
Merci

Seby

Commentaire de zaptaf le 20/10/2009 19:16:22

Allo, super l'idée mais désolé mais ce code ne marche pas ou c'est une erreur du système ou php ou wathever....

Je ne comprends pas d'ailleurs, mais un coup de main serait parfait !

C'est le troisième code que je test de faire marcher mais sans succès

si tu mets comme première date le 2009-10-24 et la deuxieme à 2009-12-24 ca donnera des doublons

tu remarqueras que ca double ici la date  : 2009-11-01


2009-10-24
2009-10-25
2009-10-26
2009-10-27
2009-10-28
2009-10-29
2009-10-30
2009-10-31
2009-11-01
2009-11-01
2009-11-02
2009-11-03
2009-11-04
2009-11-05
2009-11-06
2009-11-07
2009-11-08
2009-11-09
2009-11-10
2009-11-11
2009-11-12
2009-11-13
2009-11-14
2009-11-15
2009-11-16
2009-11-17
2009-11-18
2009-11-19
2009-11-20
2009-11-21
2009-11-22
2009-11-23
2009-11-24
2009-11-25
2009-11-26
2009-11-27
2009-11-28
2009-11-29
2009-11-30
2009-12-01
2009-12-02
2009-12-03
2009-12-04
2009-12-05
2009-12-06
2009-12-07
2009-12-08
2009-12-09
2009-12-10
2009-12-11
2009-12-12
2009-12-13
2009-12-14
2009-12-15
2009-12-16
2009-12-17
2009-12-18
2009-12-19
2009-12-20
2009-12-21
2009-12-22
2009-12-23


Mon trouble est de faire lister des périodes sur deux semaines de feuille temps, du lundu au dimanche, deux semaines d'affichage.

Mais tous les codes que j'essaies ont ce trouble de doublons. Vraiment étrange, alors que le time est différent du doublon pourtant lorsque j'écho les time.

Qu'elqu'un peut m'aider ????, je commence à m'arracher les cheveux de sur la tête.

l'idée est que la personne doit indiquer une date de début de période. Et ca liste les deux semaines , car ils choisissent le lundi le 24 et ca doit lister les deux prochaines semaines. Mais il y a toujours des doublons. C'est pas parfait le time m'a vous dire

AU secours.....

un gros merci

Commentaire de verdiergreg le 30/10/2009 13:44:58 8/10

bonjour,
il y avait un bug dans le code qui lorsque on voulait modifier un évènement, inversait la date et le lieu.

Pour rectifier cette erreur, il suffit de se rendre aux lignes 54 et 55  

while($data=mysql_fetch_array($req))
{
   $mod=1;
   $id=$data['id'];
   $loc=$data['event']; --> cette ligne et celle d'en dessous ont les variables inversées
   $eve=$data['lieu'];

$loc=$data['lieu'];-->faites comme ceci et tou rentre dans l'ordre
$eve=$data['event'];
}

Voila...

Commentaire de mastaff le 03/11/2009 18:05:40

Bonsoir,
Tout d'abord je tiens à vous féliciter pour ce calendrier très bien commenté et effectivement facilement adaptable.
Par contre il y a une chose que je ne comprend pas, le calendrier fonctionne en local mais dès qu'il est en ligne il fait planté le navigateur.
Apparemment cale créer un table infini qui ne s'arrête jamais.
Si vous avez une solution je suis preneur car en l'état le code est inutilisable.
Merci d'avance.

Commentaire de mondherclubiste le 03/11/2009 19:55:20

Salut,
Merci pour vous encouragements, pour  le calendrier je l'ai utilisé sur plusieurs serveurs et elle marche parfaitement, d'ailleurs voici un exemple en ligne :
http://www.anad-tn.org/anad-agence-national-antidopage-tunis.html

Commentaire de Hurleur le 07/12/2009 17:06:01

Bonjour,
Merci beaucoup pour ce petit Agenda,  très facilement utilisable ! Ca m'enlève une épine du pied !

Une simple remarque, la ligne 31 et 32  dans gestion.php :
echo $sql;
header("location:agenda.php?admin&add$lien");

Le header ne fonctionne que s'il n'y a pas de texte avant sa déclaration, donc ligne 31 à supprimer !




Commentaire de zaptaf le 07/12/2009 18:12:21

en fait, il faut remplacer header("location:agenda.php?admin&add$lien");
par header("location: agenda.php?admin&add$lien"); (doit avoir espace entre le double point et la page.
et pour éviter les troubles de redirections, vous pouvez mettre une arobase devant toute instruction serveur, ou variable non initialisées

@header("location:agenda.php?admin&add$lien");

ou aussi

echo @$variable

aussi, le code j'ai remonté le code pour certaines erreures, j'irai placer la source lorsque j'aurai une minute.

Commentaire de wallysub le 09/12/2009 23:50:07

Bonjour comme mastaf, il bloque mon naviguateur que ce soit ie ou firefox.
j'essaye de trouver le probleme. pourtant accés sql paramétré, et que ce soit la version simple sans sql ou l'autre.

Commentaire de wallysub le 09/12/2009 23:59:08

voilà ce que j'ai avec mysql error :

Warning: mysql_connect() [function.mysql-connect]: User ma base already has more than 'max_user_connections' active connections in

Commentaire de Ludococo le 04/11/2010 18:58:37

Bonjours à tous,

comme mastaf et wallysub j'ai le même soucis. En local tout va bien mais une dois mis en ligne le navigateur plante.

Quelqu'un a-t-il trouvé la solution ?
Merci par avance

Commentaire de ngahadjo le 10/01/2011 15:40:51

Le probléme se trouve au niveau de
$x=date("N", mktime(0, 0, 0, $mois,1 , $annee));
$y=date("N", mktime(0, 0, 0, $mois,$l_day , $annee));  
c'est du php5 donc en clair vous devez remplacer le N par le n ainsi on a:
$x=date("n", mktime(0, 0, 0, '0'+$mois,1 , $annee));
$y=date("n", mktime(0, 0, 0, '0'+$mois,$l_day , $annee));
voici joint le code rectifié je pense que votre navigateur ne se bloquera plu à ce niveau.
Cependant vous risquez avoir une instabilité au niveau des grilles de votre calendrier, je n'ai pas encore eu le temps de me concentrer dessus mais d'ici faite moi signe si jamais vous trouvez avant que je ne me penche sur la question


<html>
<head>
<script type="text/javascript">
function change()
{
document.dt.submit();
}
function over(this_,a,t)
{
<?php
echo "var c2=['$ccl2[0]','$ccl2[1]','$ccl2[2]'];";
?>
var col;
if(t==2)
this_.style.backgroundColor=c2[a];
else
this_.style.backgroundColor="";
}
function go_lien(a)
{
top.document.location=a;
}
</script>    
</head>
<body>

            <p>
              <?php
include_once('_connexion.php');
?>
              <?php
$list_fer=array(7);//Liste pour les jours feri&eacute;; EX: $list_fer=array(7,1)==>tous les dimanches et les Lundi seront des jours f&eacute;riers

$sql="select date from table where condition='condition' and Commentaires='ok'";
$req=mysql_query($sql);
$k=0;
while($data=mysql_fetch_array($req))
{
$list_spe[$k]=$data[0];
$k++;
}
if($k==0)
$list_spe[0]="";
//$list_spe=array('1986-10-31','2009-4-12','2009-9-23');//Mettez vos dates des evenements ; NB format(annee-m-j)
if(isset($_GET['admin']))
$lien_redir="fiche.php";
else
$lien_redir="Detail5001.php";//Lien de redirection apres un clic sur une date, NB la date selectionner va etre ajouter &agrave; ce lien afin de la r&eacute;cuperer ult&eacute;rieurement
if(isset($_GET['admin']))
$clic=1;//1==>Activer les clic sur tous les dates; 2==>Activer les clic uniquement sur les dates speciaux; 3==>D&eacute;sactiver les clics sur tous les dates
else
$clic=2;
$col1="#d6f21a";//couleur au passage du souris pour les dates normales

$col2="#8af5b5";//couleur au passage du souris pour les dates speciaux

$col3="#6a92db";//couleur au passage du souris pour les dates f&eacute;ri&eacute;

$mois_fr = Array("", "JANVIER", "FEVRIER", "MARS", "AVRIL", "MAI", "JUIN", "JUILLET", "AOUT","SEPTEMBRE", "OCTOBRE", "NOVEMBRE", "DECEMBRE");


if(isset($_GET['mois']) && isset($_GET['annee']))
{
$mois=$_GET['mois'];
$annee=$_GET['annee'];
}
else
{
$mois=date("n");
$annee=date("Y");
}
$s=strlen($mois)-1;
if($mois<10)
$mois=$mois[$s];
$ccl2=array($col1,$col2,$col3);
$l_day=date("t",mktime(0,0,0,'0'+$mois,1,$annee));
$x=date("n", mktime(0, 0, 0, '0'+$mois,1 , $annee));
$y=date("n", mktime(0, 0, 0, '0'+$mois,$l_day , $annee));
$titre=$mois_fr[$mois]." : ".$annee;
//echo $l_day;
?>
            </p>
            <center>
              <form action="" method="get" name="dt" id="dt">
                <?php
if(isset($_GET['admin']))
echo '<input type="hidden" name="admin" />';
?>
                <select name="mois" id="mois" onchange="change()" class="Style1">
                  <?php
for($i=1;$i<13;$i++)
{
echo '<option value="'.$i.'"';
if($i==$mois)
echo ' selected ';
echo '>'.$mois_fr[$i].'</option>';
}
?>
                </select>
                <select name="annee" id="annee" onchange="change()" class="Style1">
                  <?php
for($i=1950;$i<2035;$i++)
{
echo '<option value="'.$i.'"';
if($i==$annee)
echo ' selected ';
echo '>'.$i.'</option>';
}
?>
                </select>
              </form>
            </center>
            <table class="tableau">
              <br />
              <br />
              <tr>
                <th>Lun</th>
                <th>Mar</th>
                <th>Mer</th>
                <th>Jeu</th>
                <th>Ven</th>
                <th>Sam</th>
                <th>Dim</th>
              </tr>
              <tr>
                <?php
//echo $y;
$case=0;
if($x>1)
for($i=1;$i<$x;$i++)
{
echo '<td class="desactive">&nbsp;</td>';
$case++;
}
for($i=1;$i<($l_day+1);$i++)
{
$f=$y=date("n", mktime(0, 0, 0, $mois,$i , $annee));
if($i<10)
$jj="0".$i;
else
$jj=$i;
if($mois<10)
$mm="0".$mois;
else
$mm=$mois;
$da=$annee."-".$mm."-".$jj;
$lien=$lien_redir;
$lien.="?dt=".$da;
echo "<td";
if(in_array($da, $list_spe))
{
echo " class='special' onmouseover='over(this,1,2)'";
if($clic==1||$clic==2)
echo " onclick='go_lien(\"$lien\",this)' ";
}
else if(in_array($f, $list_fer))
{
echo " class='ferier' onmouseover='over(this,2,2)'";
if($clic==1)
echo " onclick='go_lien(\"$lien\",this)' ";
}
else
{
echo" onmouseover='over(this,0,2)' ";
if($clic==1)
echo " onclick='go_lien(\"$lien\",this)' ";
}
echo" onmouseout='over(this,0,1)'>$i</td>";
$case++;
if($case%7==0)
echo "</tr><tr>";

}
if($y!=7)
for($i=$y;$i<7;$i++)
{
echo '<td class="desactive">&nbsp;</td>';
}
?>
              </tr>
            </table>
  <?php
if(isset($_GET['mod']))
echo "<div id='notif'>Calendrier modifi</div>";
elseif(isset($_GET['add']))
echo "<div id='notif'>Evnement ajout</div>";
?>
</body>
</html>

Commentaire de alex0915 le 15/06/2011 10:30:00

Bonjour,

J'aurai quelques questions a vous poser svp:

- je cherche tout d'abord a modifier la couleur des jours normaux (non feries et non speciaux)
c'est a dire , les jours du 1 au 31 par exemple.

- Ensuite j'aimerais savoir comment faire en sorte d'enlever le concet d'admin user en gros enlever cette Div et rester en mode admin (afin aussi d'eviter les redirections)

Merci de vos reponses

Commentaire de magicman07 le 23/07/2011 11:53:49 7/10

bonjour et bravo pour ce code, il m'aide vraiment dans le travail que je suis en train de faire.
j'aurais une petite question ^^
je suis en train de regarder le code en détail et je voulais savoir s'il y avait une solution pour appliquer une période de début et de fin sur un évènement (en ajoutant bien sûr un champs à ma table). Genre sortie en bateau sur 3 jours.

Merci par avance pour vos idées, je continue à mater ton petit code vraiment sympathique !!!

Merci encore

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

PHP probleme de boucle avec dates [ par infosub ] Bonjour, je suis confront&#233; &#224; un petit probl&#232;me de boucle pour ajouter plusieurs jour &#224; une date.. le script ci-dessous calcule le Afficher les jours de la semaine... [ par stevethx27 ] Bonjour,je tente (en vain) d'afficher sur une ligne les jours de la semaine. J'ai utilis&#233; un script trouv&#233; sur le site que j'ai modifi&#233; Calendrier - probleme ! [ par xavier1707 ] bonjour, je souhaite cr&#233;er un calendrier sur une page en php... pour afficher le mois en cours, pas de probl&#232;me, tout se passe bien... par c delete evenement +un jours [ par speedylol ] bonjour, j'ai besoins de votre aide pour une delete automatique d'un evenement que j'ajoute avec la date par jours , mois , année .je fait cela dans l date de semaine qui chevauche deux mois [ par val78 ] BonjourApres avoir ete sur google et sans trouver se qui m'interesse je fais appel a vousje code en phpJe cherche comment sur une semaine qui chevauch Calendrier [ par faabulous ] Bonsoir ! J'ai, à l'aide d'un livre acheté, essayé de coder un calendrier. J'avais plusieurs erreurs, donc j'ai recopié à la lettre le code du livre Recherche entre deux date [ par Djibril76 ] Bonjour à tous, Excusez moi d'avance pour ma question sans doute nulle, mais je suis totalement néophyte php. Voilà, dans mon site (le premier!), je s récupérer des données sur un mois, array des jours occupés [ par 555clR ] Bonsoir ! J'ai deux problèmes auxquels je ne trouve pas de solution : 1/ Le premier se trouve dans ma requête... Je vous dresse le décor: - Une tabl Affichage évènement enregistrer dans une base sur une date de calendrier. [ par Rykets24 ] Bonsoir a tous, je suis nouveaux sur phpcs et je ne sais pas si je suis dans la bonne section; si cela n'est pas le cas, je m'en excuse. Je suis actu Fonction : date() [ par sebalex ] Bonjour à tous et bonne année. Voici mon problème : J'ai la ligne de code suivante : if((date('m') + 3) > 12) {$MOIS = (date('m') + 3) - 12;}else{$MO


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,842 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales