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

Langage PHP Discussion :

CSS et PHP - Colorier une cellule d'un tableau


Sujet :

Langage PHP

  1. #1
    Membre actif Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Points : 262
    Points
    262
    Par défaut CSS et PHP - Colorier une cellule d'un tableau
    Bonjour

    Tout d'abord j'espère être dans la bonne catégorie de forum, mais j'hésitais entre PHP et CSS ...

    J'ai un problème incompréhensible, je ne vois pas pourquoi ça bug donc peut-être qu'à vous la solution vous sautera aux yeux !

    Je crée un tableau pour faire un planning :
    - colonne de gauche : le nom de chaque personne
    - ligne en haut de tableau : les jours de la semaine

    A chaque croisement "personne/jour", on a le nom d'un projet qui s'affiche.
    Chaque projet a un statut : Prévu ou Confirmé.

    Si le statut du projet est "Confirmé", alors on applique une classe spéciale : .confirme. Sinon la classe .projet.

    Voici tout d'abord mon code :
    - Page php :
    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
     
    $reqtrav = mysql_query("SELECT P.id_projet,P.nom_projet FROM projet P JOIN travail T ON P.id_projet=T.id_projet WHERE T.login_personne='".$row['login_personne']."' AND T.date='".$day."' ORDER BY T.date ASC, P.nom_projet ASC;");
    $nbtr = mysql_num_rows($reqtrav);
    // Si aucun projet, case vide
    if($nbtr == 0) echo '...';
    // Sinon ajoute dans le tableau
    else 
    {
    	while($ligne = mysql_fetch_array($reqtrav))
    	{
    	         if($ligne['nom_projet'] == 'CONGES')
    			echo '<td id="'.$day.'-'.$row['login_personne'].'" class="conges">'.$ligne['nom_projet'].'</td>';
    		else {
    			$reqstatut = mysql_query("SELECT statut FROM travail WHERE id_projet='".$ligne['id_projet']."';") or die(mysql_error());
    			$stat = mysql_result($reqstatut,0);
    			if ($stat == "Confirmé")
    				echo '<td id="'.$day.'-'.$row['login_personne'].'" class="confirme">'.$ligne['nom_projet'].'</td>';
    			else
    				echo '<td id="'.$day.'-'.$row['login_personne'].'" class="projet">'.$ligne['nom_projet'].'</td>';
    			}
    	}
    }
    Et mes trois classes CSS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    .conges {
    	background-color: #F8D381;
    	color: #DC7916;
    }
     
    .projet {
    	padding: 5px;
    }
     
    .confirme {
    	background-color: #33BA30;
    	padding: 5px;
    }
    Pour les cases "CONGES", la classe choisie s'applique correctement, de même que la classe 'projet'.

    Mon problème : la classe 'confirme' ne s'applique jamais !

    J'ai regardé si ma variable $stat contenait bien 'Confirmé', aucun problème. J'ai essayé d'afficher toutes mes variables, elles sont toutes correctes.
    Si j'attribue le background-color de .confirme à .projet, alors mes cases deviendront de cette couleur.
    Mais la classe ".confirme" n'est jamais appliquée.

    Est-ce que vous voyez une erreur quelque part que j'aurai manqué ?
    Ca fait un moment que je suis dessus et que j'ai testé je crois, tout ce que je pouvais alors un peu d'aide me ferait bien plaisir x)

    Merci !

  2. #2
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonjour

    As tu regardé le code source ? Y trouves tu la classe 'confirme' quand elle doit y être ?

    Si oui c'est à priori un problème CSS et là il nous faut le code (X)HTML et CSS généré, ou mieux : une page en ligne...

    Si non c'est à priori un problème PHP...
    Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez moi.
    débutez avec les CSS
    Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
    Votez pour les messages qui vous ont aidés...

  3. #3
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 295
    Points
    7 295
    Par défaut
    Déjà, permièree chose enleve cette reuqte SQL dans une boucle... en ajoutant le champ statut dans la permière ca devrait aller si je cromprend bien ce que tu fais...
    ton serveur te dira merci...


    Autrement, met peut etre le code généré, caa peeut aider.

    Essaye de rafraichir ton cache au pire. (CTRL F5 ou CTRL R)

  4. #4
    Membre actif Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Points : 262
    Points
    262
    Par défaut
    Citation Envoyé par 12monkeys Voir le message
    Bonjour

    As tu regardé le code source ? Y trouves tu la classe 'confirme' quand elle doit y être ?

    Si oui c'est à priori un problème CSS et là il nous faut le code (X)HTML et CSS généré, ou mieux : une page en ligne...

    Si non c'est à priori un problème PHP...
    En effet, je n'ai pas pensé de suite à faire ça (bête erreur x)), et non le nom de la classe ne s'affiche pas quand il le faudrait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <td bgcolor="#EEEEEE;" onmouseout="this.bgColor='#EEEEEE;'" onmouseover="this.bgColor='#CC622F'" class="projet" id="un_id">Le_nom_du_projet</td>
    A la place de class="projet" je devrai avoir class="confirme".

    Déjà, permièree chose enleve cette reuqte SQL dans une boucle... en ajoutant le champ statut dans la permière ca devrait aller si je cromprend bien ce que tu fais...
    ton serveur te dira merci...
    Oula oui en effet, pas fait attention ... Merci !

    J'ai fait un echo de mon statut, j'obtiens bien "Confirmé" comme j'ai mis dans le : if ($stat == 'Confirmé') sauf que celui-ci n'a pas l'air pris en compte.

    Ou alors erreur de syntaxe à quelque part ?

    Merci de votre aide !

  5. #5
    Membre averti Avatar de sayari.dev
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2010
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2010
    Messages : 142
    Points : 300
    Points
    300
    Par défaut
    Peut être c'est un problème d'encodage des caractères. Par exemple, si $stat = 'Confirmé' et que l'encodage de ta page est UTF-8, en faisant un echo tu aura sûrement 'Confirmé' à l'écran malgrés qu'une ('Confirmé' == 'Confirmé') est evalué en false.
    C'est en faisant n'importe quoi qu'on devient n'importe qui

  6. #6
    Membre actif Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Points : 262
    Points
    262
    Par défaut
    Citation Envoyé par php.dev Voir le message
    Peut être c'est un problème d'encodage des caractères. Par exemple, si $stat = 'Confirmé' et que l'encodage de ta page est UTF-8, en faisant un echo tu aura sûrement 'Confirmé' à l'écran malgrés qu'une ('Confirmé' == 'Confirmé') est evalué en false.
    J'y avais pensé et j'avais mis un "&eacute;" mais je n'avais pas pensé aux é.

    Conclusion, j'ai enlevé tous les accents, ça va aussi bien et ça fonctionne parfaitement

    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [HTML, CSS, JS] Clic sur une cellule d'un tableau pour changer sa class CSS
    Par Nyphel dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 21/08/2007, 13h18
  2. Colorier une cellule Excel
    Par MCoder dans le forum Delphi
    Réponses: 5
    Dernier message: 20/02/2007, 14h30
  3. [HTML][CSS] Hauteur à 100% d'une cellule
    Par daner06 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 03/07/2006, 10h02
  4. [CR8.5][VS2002]Colorier une cellule
    Par San Soussy dans le forum SDK
    Réponses: 2
    Dernier message: 13/09/2005, 12h39

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