Periodicité d'un évenement

Soyez le premier à donner votre avis sur cette source.

Vue 6 880 fois - Téléchargée 370 fois

Description

Alors ce code j'espere qu'il sera interessant a pour but de generer une periodicité pour un evenement, etant debutant je sais pas trop ce que cela vaut mais faut bien se lancer un jour....

Source / Exemple :


<?php

//* CAL PREMIER JOUR POUR UNE SEMAINE
function cal_one_sem($mois,$Annee,$days_choix_l,$days_sem)
{
        $jourSemainePremier=date('w',mktime(0,0,0,$mois,1,$Annee));
        $jourMoisPremier=(7+$days_choix_l-$jourSemainePremier)%7+1+7*($days_sem-1);
        return mktime(0,0,0,$mois,$jourMoisPremier,$Annee);
}
//* CAL PREMIER JOUR TOUTES LES SEMAINES
function cal_all_sem($mois,$Annee,$days_choix_l)
{
    for($days_sem=1;1;$days_sem++)
    {
        $date=cal_one_sem($mois,$Annee,$days_choix_l,$days_sem);
        if($mois<date('m',$date))
            return $resultat;
        else
            $resultat[]=$date;
    }
}

function AfficheDate ($Annee="", $mois="", $days_all="", $days_choix_l="", $days_sem="", $days_date="", $duree="") {

$Annee = ($Annee == 'Y') ? date('Y') : $Annee;						// Définition année choisie
$days_all = (empty($days_all)) ? NULL : $days_all;					// Tous les jours du mois
$days_choix_l = (empty($days_choix_l)) ? NULL : $days_choix_l;		// Jour de la semaine 	= 0-->6
$days_sem = (empty($days_sem)) ? NULL : $days_sem;					// Semaines 			= 1-->Dernier ou Toutes
$days_date = (empty($days_date)) ? NULL : $days_date;				// Jour du mois			= 1-->31 

if(isset($days_all)) {			
		/// retourne tous les jours de la semaines
			$JourMax = date("t",mktime(0,0,0,$mois,1,$Annee));
			for($jour=1;$jour<=$JourMax;$jour++) {
			echo $jour.' '.$mois.' '.$Annee.'<br>'; // on affiche l'élément du tableau d'indice $i
			}
			
} elseif(isset($days_choix_l)) {
			if($days_sem == 'ALL') {
				/// On retourne toutes les semaines, le Xjour, tous les ans, pour le mois choisi !
    			$resultat=cal_all_sem($mois,$Annee,$days_choix_l);
    			$totalsemaine=sizeof($resultat);
    			for($i=0;$i<$totalsemaine;$i++) {
        		echo date('d/m/Y',$resultat[$i]).'<br>';
				}
			} else {
				/// On retourne tous les 1/2/3/4/ semaines, le Xjour, tous les ans, pour le mois choisi !
				echo date('w - l - j M Y',cal_one_sem($mois,$Annee,$days_choix_l,$days_sem)).'<br>';
			}
} elseif(isset($days_date)) {
		/// retourne le jour choisie
			/// On retourne la date choisie, tous les ans, ou l'année choisie, pour le mois choisi !
			echo date("j M Y", mktime(0, 0, 0, $mois, $days_date, $Annee));
} else {
		echo 'ERREUR';
}

}

/// Année égal année en cours (Y) ou année determiné (2005,2006,2007...)
// Définition année choisie
// Tous les jours du mois
// Jour de la semaine 	= 0-->6
// Semaines 			= 1-->Dernier ou Toutes
// Jour du mois			= 1-->31 
AfficheDate ('2005', 8, '', '3', 'ALL', '', '');
?>

Conclusion :


on affiche la fonction avec
AfficheDate ('2005', 8, '', '3', 'ALL', '', '');

par exemple les fetes de bayonne (exemple de la region qui en conquit plus d'un...) qui commence tous les ans le 1er mercredi d'aout pendant 5 jours
AfficheDate ('Y', 8, '', '3', '1', '', '5');

Mercredi 01 Août 2007
et Mercredi 06 Août 2008 pour l'année suivante

la valeur 1 : Y (Tous les ans), ou l'année choisi 2005 ou 2007...
la valeur 2 : le mois choisi 1,2,3,4,5

la valeur 3 : ALL a remplir pour avoir tous les jours du mois

la valeur 4 : jour de la semaine 1 (lundi) à 0 (dimanche)
la valeur 5 : ALL si c'est toutes les semaines ou sinon le numero de la semaine

la valeur 6 : date 1 à 31

la valeur 7 : duree de l'evenement

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

aquewel
Messages postés
145
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
6 juin 2010

les includes manquants c'est pour se connecter a la base de données mysql
si ta un souci envoi moi ton adresse msn par mail si je peux t'aider...
cs_richard03
Messages postés
1
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
28 janvier 2009

il manque tout les includes...
anneric
Messages postés
7
Date d'inscription
mardi 12 octobre 2004
Statut
Membre
Dernière intervention
9 août 2008

Bonjour,

Désolée, cela peut paraître idiot comme question, mais j'aimerais avoir de quelle manière relier la base de données avec les pages web concernées. Je galère un peu car c'est encore relativement abstrait tout ça pour moi...

Merci !
willowman
Messages postés
143
Date d'inscription
vendredi 5 juillet 2002
Statut
Membre
Dernière intervention
18 mars 2006
1
Salut !

Je vais matter cela, et te dirais ce qu'il en est !
Merci pour ta remarque.


Anli.
aquewel
Messages postés
145
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
6 juin 2010

c'est pas bon comme source ?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (aquewel)