cs_tiara
Messages postés2Date d'inscriptionsamedi 7 janvier 2006StatutMembreDernière intervention25 juillet 2006
-
25 juil. 2006 à 10:20
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 2013
-
25 juil. 2006 à 12:10
Bonjour!
J'ai un soucis au niveau d'un code permettant d'afficher un calendrier année par année (dans différentes pages) les mois et de colorer une zone prédéfinie par un utilisateur au moyen d'un formulaire.
Le petit soucis :
Si le premier jour du mois est un dimanche, le 1 s'affiche lundi et le 2 au lundi suivant au lieu de dimanche 1 lundi 2
Lun, Mar, Mer, Jeu, Ven, Sam, Dim, ----
1, ----
2, 3, 4, 5, 6, 7, 8, ----
9, 10, 11, 12, 13, 14, 15, ----
16, 17, 18, 19, 20, 21, 22, ----
23, 24, 25, 26, 27, 28, 29, ----
30, 31
Au mois de Mars aussi la derniére ligne du mois ne se ferme pas et affiche sur une ligne 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
au lieu de : 21, 22, 23, 24, 25, 26, 27
28, 29, 30, 31
Voici le code. Merci encore si vous pouvez m'aider ça fait 2 jours que je me prend la tête dessus je suis perdue ... :'(
//LE NOMS DES SEMAINES
$semaine=array(" Lun ", " Mar ", " Mer ", " Jeu ", " Ven ", " Sam ", " Dim ");
//LE NOM DES MOIS
$mois=array("", " janvier ", " fevrier ", " mars ", " avril ", " mai ", " juin ", " juillet ", " aout ", " septembre ", " octobre ", " novembre ", " decembre ");
/* propriete calendrier */
$bgcolor="#CCFFFF"; //Couleur de fond du calendrier peut aussi contenir none pour un fond transparent
$text="#000000"; //Couleur du texte. Peur ne rien contenir pour la couleure par défaut
$thedaybgcolor="#ff0000"; //Couleur de fond du jour.
$thedaytext="#ffffff"; //Couleur du texte du jour.
$textfamily="Verdana,Arial"; //Police
$textsize="10px"; //Taille du texte
/*COLORER LES PERIODES DE CONGES*/
$sql = \"SELECT * FROM planning WHERE id_users= $_SESSION[id_users];\";
// on envoie la requête
$req2 = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
// Si la requete retourne au moins une donnée on retourne la valeur vrai et on analyse sinon on affiche les dates
if (mysql_num_rows($req2) > 0)
{
$data = mysql_fetch_array($req2);
$dateDebut = $data['date_debut'];
$dateFin = $data['date_fin'];
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 25 juil. 2006 à 10:41
Salut!
Le meilleur moyen est de définir une variable $tr ; en raccourci:
$tr = 0;
while( ... ) // boucle pour afficher les jours
{
if( $tr == 0 ) // début de ligne?
echo '<tr>';
// affichage du jour
// fin affichage jour
$tr++; // on augmente d'un
// si on a affiché 7 jrs
if( $tr == 6 )
{
echo '</tr>'; // fin de ligne
$tr = 0; // remise à 0
}
}
Voilà,
@++
R@f
www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
cs_tiara
Messages postés2Date d'inscriptionsamedi 7 janvier 2006StatutMembreDernière intervention25 juillet 2006 25 juil. 2006 à 11:42
Bonjour,
Merci pour la réponse mais cette façon de faire ne prend pas en compte si c'est une année bisextile ou et ça prend pas en compte lorsque le premier jour du mois ne tombe pas un lundi.
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 25 juil. 2006 à 12:10
Salut!
Je comprends pas...
L'astuce que je t'ai donné n'intervient que pour gérer les retours à la ligne... C'est à toi de prévoir ta boucle pour qu'elle aille du jusqu'au 28 ou 29 février...
Et si le premier jour du mois est un jeudi, tu ouvre la ligne, et tu met $tr à 3
@++
R@f
www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"