IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Couleur de lien pour une date - PHP


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 7
    Par défaut Couleur de lien pour une date - PHP
    Bonjour,

    Voici mon problème, j'ai un calendrier dans lequel je peux ajouter des évènements. Et j'aimerais que quand on consulte le calendrier on sache grâce à la couleur du lien (vert) sur une date où il existe un évènement.

    Mais sa me met automatiquement tout les liens du calendrier de la couleur choisi et non juste la date .
    Peux-etre que je ne le génère pas au bon endroit, je ne sais pas .

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    function remplisMois($time, $numMois, $curPosJour, $annee) {
    			include('connexion.php');
    			$req = "SELECT dateProgramme FROM EVENEMENT";
    			$rsDate = mysql_query($req, $connexion);
     
    				$nomCurMois = nomMois($numMois);
    				$curJour = 1;
     
    				while ($nomCurMois == nomMois(date("m",$time))) {
    					while ($lsDate = mysql_fetch_array($rsDate)) {
    						$dateProgramme = $lsDate['dateProgramme'];
    							$jourProgramme = substr($dateProgramme, 8,2);
    							$moisProgramme = substr($dateProgramme, 5,2);
    							$anneeProgramme = substr($dateProgramme, 0,4);
    						$dateJour = date("Y-m-j");
     
    						$dProgramme = explode("-", $dateProgramme);
    						$dJour = explode("-", $dateJour);
    						$finab = $dProgramme[2].$dProgramme[1].$dProgramme[0];
    						$auj = $dJour[2].$dJour[1].$dJour[0];
    						if ($finab >= $auj) {
    							echo $dateProgramme; 
    							echo evenement(ajouteDateZero("$jourProgramme-$moisProgramme-$anneeProgramme")) . "<a href='?annee=$annee&amp;mois=$numMois&amp;jour=$curJour' class='Date1'>$curJour</a>\n</td>\n";	
    						} elseif ($finab < $auj ){
    							echo $dateProgramme; 
    							echo evenement(ajouteDateZero("$jourProgramme-$moisProgramme-$anneeProgramme")) . "<a href='?annee=$annee&amp;mois=$numMois&amp;jour=$curJour' class='Date2'>$curJour</a>\n</td>\n";
    						} else {
    							echo evenement(ajouteDateZero("$curJour-$numMois-$annee")) . "<a href='?annee=$annee&amp;mois=$numMois&amp;jour=$curJour' class='Date'>$curJour</a>\n</td>\n";
    						}
    					}
    					$time += 60*60*24;
    					$curJour ++;
    					$curPosJour ++;
    					if ($curPosJour == 7) {
    						echo "	</tr>\n	<tr>\n";
    						$curPosJour = 0;
    					}
    					if ($curJour > 31)
    						break;
     
    				}
    				//retourne le nombre de jours restant a remplir
    				return 7 - $curPosJour;
    		}
    Merci d'avance

  2. #2
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 242
    Par défaut
    Peux tu préciser un peu plus ton problème ? Quelles sont les dates qui ne s'affichent pas de la bonne couleur ? As tu regardé le code de source de ta page ? As tu pensé à afficher les variables au fur et à mesure de leur exécution (ou en utilisant un débogueur) ?

    Sinon, en regardant vite fait ton code, tu as écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if ($finab >= $auj) {
    }
    else if ($finab < $auj) {
    }
    else {
    }
    Ca ne plantera jamais, mais si tu me donne un cas où ton code arrive à passer dans ton troisième bloc (le else sans if), ça m'intéresse...

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 7
    Par défaut
    Derrière certaine date j'ai des évènements à réaliser, et je voudrais que lorsqu'il existe un évènement derrière la date elle s'affiche en vert et si la date est dépasser elle doit être rouge.
    Aucune date ne s'affiche correctement, la seul couleur qui apparais est le rouge sur les pages déjà visitées.
    J'ai bien vérifier mes variables au fur et a mesure de la construction et elle sont juste.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    function remplisMois($time, $numMois, $curPosJour, $annee) {
    			include('connexion.php');
    			$req = "SELECT dateProgramme FROM EVENEMENT";
    			$rsDate = mysql_query($req, $connexion);
    			while ($lsDate = mysql_fetch_array($rsDate)) {	
    				$dateProgramme = $lsDate['dateProgramme'];
    					$jourProgramme = substr($dateProgramme, 8,2);
    					$moisProgramme = substr($dateProgramme, 5,2);
    					$anneeProgramme = substr($dateProgramme, 0,4);
    					$dateJour = date("Y-m-j");
     
    				$dProgramme = explode("-", $dateProgramme);
    				$dJour = explode("-", $dateJour);
    				$finab = $dProgramme[2].$dProgramme[1].$dProgramme[0];
    				$auj = $dJour[2].$dJour[1].$dJour[0];
     
    				$nomCurMois = nomMois($numMois);
    				$curJour = 1;	
    				while ($nomCurMois == nomMois(date("m",$time))) {
    						if ($finab >= $auj) {
    							echo evenement(ajouteDateZero("$curJour-$numMois-$annee")) . "<a href='?annee=$annee&amp;mois=$numMois&amp;jour=$curJour' class='Date1'>$curJour</a>\n</td>\n";	
    						} elseif ($finab < $auj ){
    							echo evenement(ajouteDateZero("$curJour-$numMois-$annee")) . "<a href='?annee=$annee&amp;mois=$numMois&amp;jour=$curJour' class='Date2'>$curJour</a>\n</td>\n";
    						} elseif ($finab <> $auj) {
    							echo evenement(ajouteDateZero("$curJour-$numMois-$annee")) . "<a href='?annee=$annee&amp;mois=$numMois&amp;jour=$curJour' class='Date'>$curJour</a>\n</td>\n";
    						}
     
    					$time += 60*60*24;
    					$curJour ++;
    					$curPosJour ++;
    					if ($curPosJour == 7) {
    						echo "	</tr>\n	<tr>\n";
    						$curPosJour = 0;
    					}
    					if ($curJour > 31)
    						break;
     
    				}
    				//retourne le nombre de jours restant a remplir
    				return 7 - $curPosJour;
    			}
    		}
    voici le bout qui me génère mes couleurs dans mon css .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    .Date:link{color: #FFFFFF;}
    .Date:visited{color: #FFFFFF;}
    .Date:hover{color: #A2B5BF;}
     
    .Date1:link{color: #8FCF3C;}
    .Date1:visited{color: #8FCF3C;}
     
     
    .Date2:link{color: #DB0B32;}
    .Date2:visited{color: #DB0B32;}

  4. #4
    Membre Expert Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Par défaut
    Regarde le code source de la page générée pour vérifier la classe de chacune des dates.

    Petit conseil, tu recalcules la date du jour à l’intérieur du while, ça ajoute de la confusion et ça sert à rien...
    Effectue toutes les actions qui n'ont besoin d'être effectuée qu'une seule fois avant ta boucle...

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 7
    Par défaut
    J'ai bien suivi ton conseil pour la date du jour et au niveau de mon code source c'est ok.
    Mais j'ai des couleurs sur toute les date et non seulement sur les deux date de mes evenements, et je n'arrive pas a faire en sorte que cela soit bien.
    J'ai beau faire des recherche sur internet, je ne trouve aucun resultat.

  6. #6
    Membre Expert Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Par défaut
    Citation Envoyé par MamzellJu Voir le message
    J'ai bien suivi ton conseil pour la date du jour et au niveau de mon code source c'est ok.
    C'est à dire? Les dates ont les bonnes classes css (Date, Date1 et Date2) en fonction de la date du jour...

    Post une copie du code html.

Discussions similaires

  1. [Tableaux] demande de code pour une fonction.php
    Par carmen256 dans le forum Langage
    Réponses: 4
    Dernier message: 21/01/2006, 17h22
  2. lien pour une table qui ne doit pas etre public
    Par raslain dans le forum Oracle
    Réponses: 1
    Dernier message: 12/12/2005, 13h40
  3. Regroupement de valeur pour une date
    Par Erakis dans le forum Requêtes
    Réponses: 4
    Dernier message: 15/06/2005, 21h00
  4. [VB.NET] Valur null pour une date.
    Par Lois dans le forum Windows Forms
    Réponses: 2
    Dernier message: 20/12/2004, 14h38
  5. Création requete besoin d'aide pour une date
    Par royrremi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/07/2004, 22h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo