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 :

Peut-on définir la couleur d'une valeur retournée avec "return" ?


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 131
    Points : 67
    Points
    67
    Par défaut Peut-on définir la couleur d'une valeur retournée avec "return" ?
    Bonjour à tous,

    Je sollicite votre expertise pour un problème que je ne parviens pas à résoudre, mes connaissances en programmation étant très limitées.

    Ainsi dans un système de formulaires dynamiques, je peux insérer du code dans la configuration de mes champs, ce afin de récupérer des données externes pour par ex peupler certains champs lorsque l'utilisateur affiche le formulaire.

    Ainsi dans un de mes champs, j'ai le code suivant*:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <?php global $record; return $record->credit/100; ?>
    Il récupère donc une valeur dans la db et la divise par 100.

    Dans un autre champs, j'utilise le code suivant*:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <?php global $record; if (($record->credit/100) < 25) {return "Vous n'avez pas assez (min 25€ !)";} ELSE {return 25;} ?>
    Il récupère toujours la même valeur mais la teste par rapport à une valeur de référence, ici 25 et selon le résultat, retourne soit le texte "Vous n'avez pas assez (min25€)", soit la valeur de référence.

    Cela fonctionne parfaitement mais pour des questions de "visuel", je voudrais que quand l'utilisateur affiche le formulaire, la couleur du contenu des champs peuplés varie selon le résultat.

    Ainsi pour le premier champs, si la valeur est inférieure à une valeur de référence (à définir avec une conditionnelle comme dans le code du second champs), l'utilisateur voit la valeur en rouge, sinon en vert.

    De même pour le second champs, je voudrais que le texte soit affiché en rouge et si c'est la valeur de référence qui est retournée, elle s'affiche en vert.

    Y a-t-il dès lors un moyen de définir une couleur sur une valeur retournée via "return" ?

    Merci de votre aide...

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu peux utiliser un style css :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     <?php 
    if (($record->credit/100) < 25) {
           return '<span style="color: red;">Vous n\'avez pas assez (min 25€ !)</span>';
    } ELSE {
          return '<span style="color: green;">25</span>';
    } ?>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 131
    Points : 67
    Points
    67
    Par défaut
    Bonjour Sabotage et merci pour ta réponse.

    Alors après différents tests, j'arrive au mieux à avoir :

    pour le premier champ:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php global $record; if (($record->credit/100) < 25) {return '<span style="color: red;">$record->credit/100</span>';} ELSE {return '<span style="color: green;">$record->credit/100</span>';} ?>
    valeur retournée dans le champs en front:

    <span style="color: red;">$record->credit/100</span>
    ... et pour le second champs:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php global $record; if (($record->credit/100) < 25) {return '<span style="color: red;">Vous n\'avez pas assez (min 25€ !)</span>';} ELSE {return '<span style="color: green;">25</span>';} ?>
    valeur retournée dans le champs en front:

    <span style="color: red;">Vous n'avez pas assez (min 25€ !)</span>
    Donc en fait il me retourne le contenu entre les simples quotes... le filou

    Une idée pour contourner ça ?

    Merci pour les suggestions...

  4. #4
    Membre éclairé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Septembre 2012
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2012
    Messages : 416
    Points : 747
    Points
    747
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php global $record; if (($record->credit/100) < 25) {return '<span style="color: red;">'.($record->credit/100).'</span>';} ELSE {return '<span style="color: green;">'.($record->credit/100).'</span>';} ?>

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 131
    Points : 67
    Points
    67
    Par défaut
    Bonjour valaendra et merci pour ta suggestion.

    Alors on progresse puisque maintenant, après adaptation, j'ai notamment les valeurs à afficher et non plus juste le texte en brut, mais j'ai encore malgré tout une partie du code qui s'affiche avec ces valeurs et toujours pas de couleurs

    Ainsi pour le premier champs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php global $record; if (($record->credit/100) < 25) {return '<span style="color: red;">'.($record->credit/100).'</span>';} ELSE {return '<span style="color: green;">'.($record->credit/100).'</span>';} ?>
    valeur en sortie dans le champs :

    <span style="color: red;">9.72</span>
    On voit donc bien ici la valeur entre les balises.

    ... et pour le second champs:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php global $record; if (($record->credit/100) < 25) {return '<span style="color: red;">'.'Vous n\'avez pas assez (min 25€ !)'.'</span>';} ELSE {return '<span style="color: green;">'.'25'.'</span>';} ?>
    valeur en sortie dans le champs :

    <span style="color: red;">Vous n'avez pas assez (min 25€ !)</span>
    On voit ici que le caractère d'échappement \ n'apparait pas dans la phrase, ce doit donc être la valeur retournée et non le texte brut.

    Une idée complémentaire ?

Discussions similaires

  1. définir la couleur d'une colonne d'un graphique
    Par Golzinne dans le forum Silverlight
    Réponses: 2
    Dernier message: 07/09/2010, 15h03
  2. Couleur selon une valeur dans un <td> en javascript/html
    Par twingo321 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/11/2007, 09h27
  3. Réponses: 12
    Dernier message: 11/09/2006, 10h57
  4. Réponses: 1
    Dernier message: 08/03/2006, 20h07

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