Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/01/2007, 12h08   #1
Nouveau Membre du Club
 
Inscription : janvier 2007
Messages : 175
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 175
Points : 28
Points : 28
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
Mathieu72 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2007, 12h25   #2
Membre éclairé
 
Avatar de genova
 
Inscription : septembre 2004
Messages : 487
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 487
Points : 397
Points : 397
Envoyer un message via MSN à genova
Salut, voilà ta fonction :
@+

Code :
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 :
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.
genova est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2007, 10h06   #3
Nouveau Membre du Club
 
Inscription : janvier 2007
Messages : 175
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 175
Points : 28
Points : 28
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 :
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
Mathieu72 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2007, 10h09   #4
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
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...
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2007, 22h08   #5
Nouveau Membre du Club
 
Inscription : janvier 2007
Messages : 175
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 175
Points : 28
Points : 28
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
Mathieu72 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2007, 23h12   #6
Invité de passage
 
Inscription : janvier 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 3
Points : 1
Points : 1
Citation:
Envoyé par genova
Salut, voilà ta fonction :
@+

Code :
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 :
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 !
doudou439 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2007, 23h36   #7
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
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...
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2007, 15h47   #8
Nouveau Membre du Club
 
Inscription : janvier 2007
Messages : 175
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 175
Points : 28
Points : 28
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
Mathieu72 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2007, 17h01   #9
Membre émérite
 
Inscription : juin 2002
Messages : 1 013
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 1 013
Points : 959
Points : 959
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 :
include 'bibliotheque.php';
francis m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2007, 17h01   #10
Membre à l'essai
 
Étudiant
Inscription : octobre 2006
Messages : 21
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2006
Messages : 21
Points : 23
Points : 23
Envoyer un message via MSN à Amauryw
Dans un fichier class_traitement.php:
Code :
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 :
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();
Amauryw est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h11.


 
 
 
 
Partenaires

Hébergement Web