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 :

Mise en forme conditionnelle


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 176
    Par défaut Mise en forme conditionnelle
    Bonjour à tous,

    je voudrais savoir s'il y a un moyen simple pour afficher dans des pages php tous les nombres positifs en bleu, et tous les nombres négatifs en rouge. En fait, il s'agit de prix, qui sont des données d'une base Mysql, ou issus de requête sur la base.
    Il y aurait bien la solution d'écrire un test if avant l'écriture de chaque variable, mais ce serait très lourd. Y-a-til moyen de créer une fonction pour arriver à faire ça? Si oui quelle doit être cette fonction? Et faut-il recopier la fonction dans le code de chaque page PHP?


    Cordialement
    Mathieu

  2. #2
    Membre chevronné
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Par défaut
    Salut, voilà ta fonction :
    @+

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function nb_color($int)
    {
       if (($int % 2) == 0)
       {
          $color = 'blue';
       }
       else
       {
          $color = 'red';
       }
     
       echo '<span style="color: ' . $color . '">' . $int . '</span>';
    }
    Utilisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    nb_color(0);
    echo '<br />';
    nb_color(1);
    echo '<br />';
    nb_color(10236);
    Testez le forum Fire Soft Board, un forum libre, gratuit et français.

    Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 176
    Par défaut
    hum, je ne crois pas que ça réponde à la question...
    ce qu'il faudrait c'est que la couleur s'ajuste selon que le nombre à afficher est positif ou négatif...
    pour exemple, dans excel ça fonctionne avec Mise en forme conditionnelle...

    Je n'ai pas moyen d'essayer ce morceau de code du pc où je me trouve, mais ce serait un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if $int>=0 then echo <color=blue>$int
    else echo <color=red>$int
    Mais le problème, c'est que c'est vraiment lourd de faire ça à chaque fois qu'on veut afficher une variable, donc yatil moyen de faire plus court???


    D'autre part, je voudrais savoir s'il est vraiment utile de recopier la fonction dans toutes les pages pdf, et sinon comment faire pour ne l'écrire qu'une autre fois dans une page (js?) et y faire référence à partir des autres....


    Bien cordialement
    Mathieu

  4. #4
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Euh pourquoi tu parles de PDF et JS là

    Tu dois mettre ta fonction dans un fichier php et inclure ce fichier dans les pages qui en ont besoin.

    Pour le problème de départ à part appeler la fonction à chaque fois je vois pas comment on peut faire...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 176
    Par défaut
    Bonsoir,

    je voulais dire php pas pdf, erreur de frappe
    donc, bien noté, il faut mettre la fonction dans une page php et l'inclure dans les pages qui en ont besoin,

    mais finalement je ne sais toujours pas comment faire, pour que la couleur varie en fonction du signe (positif ou négatif) de la somme à afficher... voir mon précédent message...


    Bonne nuit
    Mathieu

  6. #6
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 3
    Par défaut
    Citation Envoyé par genova
    Salut, voilà ta fonction :
    @+

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function nb_color($int)
    {
       if (($int % 2) == 0)
       {
          $color = 'blue';
       }
       else
       {
          $color = 'red';
       }
     
       echo '<span style="color: ' . $color . '">' . $int . '</span>';
    }
    Utilisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    nb_color(0);
    echo '<br />';
    nb_color(1);
    echo '<br />';
    nb_color(10236);
    Tu reprends la fonction ci dessus et tu modifies le if par <0 ou >0

    Si ce n'est pas ca je n'ai pas compris ta requete !

  7. #7
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    En fait je crois qu'il souhaite une solution miracle qui fasse la mise en page des nombres sans toucher à la page en gros mais en appliquant une fonction sur celle-ci. C'est peut-être faisable de faire un espèce de gros parseur de ton code à générer mais je te racontre pas la galère... Franchement faire la fonction et copi-coller l'appel en filant le nombre en paramètre c'est pas trop compliqué et c'est pas dur à maintenir vu que les couleurs utilisées seraient dans ladite fonction...

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 176
    Par défaut
    ok merci ça marche impeccable...
    mais comment je peux faire pour mettre fonction dans un fichier séparé et y faire référence dans chaque page???

    Cordialement
    Mathieu

  9. #9
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Par défaut
    avec un include:

    tu crées un fichier, par exemple bibliotheque.php, dans lequel tu insères ta fonction ou tes fonctions

    et dans chaque page, tu rajoutes la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include 'bibliotheque.php';

  10. #10
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 21
    Par défaut
    Dans un fichier class_traitement.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
    23
    24
    25
    26
    27
    28
    29
     
     
    class traitement{
     
      var $int;
     
    // constructeur moyennement util ici...
    function traitement($int){
    $this->int=$int;
    }
     
    function nb_color($int)    
    // si le construct est utilisé, mettre $this->int a la place du $int
    {
       if ($int >= 0)
       {
          $color = 'blue';
       }
       else
       {
          $color = 'red';
       }
     
       echo '<span style="color: ' . $color . '">' . $int . '</span>';
    }
     
     
     
    }
    dans tes autres fichiers:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    include_once(class_traitement.php);
     
    $int=5;
     
    //sans constructeur
    traitement::nb_color($int);
     
    // avec constructeur qui ne sert a rien ici à mon sens.
    $obj= new traitement($int);
    $obj->nb_color();

Discussions similaires

  1. mise en forme conditionnelle et vba
    Par malabar92 dans le forum Access
    Réponses: 4
    Dernier message: 26/04/2006, 14h18
  2. Mise en forme conditionnelle
    Par the big ben 5 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 23/12/2005, 15h20
  3. [VBA][Excel] mise en forme conditionnelle
    Par titflocon dans le forum Access
    Réponses: 9
    Dernier message: 19/12/2005, 10h13
  4. Réponses: 4
    Dernier message: 15/11/2005, 18h53
  5. Mise en forme conditionnelle en VBA / Cut-Paste
    Par priest69 dans le forum IHM
    Réponses: 4
    Dernier message: 03/09/2005, 13h54

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