Page 1 sur 1

traiter les décimales avec le CSS..?

Posté : 16 mars 2015, 16:01
par chanteur06
Bonjour

Je pense que le sujet est peut etre mal placé, puisque comporte du CSS, mais je tente ici . Merci de déplacer au besoin.

La question : j ai une page de resultats avec des prix, et des notes/rating. Certains notes comportent des décimales (15.24)
Comment traiter ces décimales pour qu'elles s'integrent coorectement dans un style CSS fait de petits cadres..?
Lorsque j'ai un chiffre rond , c'est ok pour mon CSS, mais lorsqu'il y a une décimale, c'est le souc, c'est pas propre, le chiffre est tronqué...
sample-decimale.png
Donc comment fait on pour reconnaitre lorsque le resultat est une decimale et changer le CSS, avec un IF je suppose...?

Merci

Re: traiter les décimales avec le CSS..?

Posté : 16 mars 2015, 16:32
par chanteur06
avec un peu de code ça peut etre mieux ^^

Code : Tout sélectionner

<style> .bloc6 { float:left; height: 143px; width: 130px; background-color: #d18fe2; margin: 0px; } .bloc6_a {padding:0px 2px;<br>margin: 0px;<br>color: white;} sub.bloc6_a {color: white;font-size: 20px;position: relative;line-height: 0;top: -2.5em;left:90px;} .bloc6_b {color: white;font-size: 130px;margin:-25px 6px 6px 2px; vertical-align:middle; line-height:normal; text-align:left; letter-spacing:-8px;} </style> <head> $champ4 = "note"; </head> <body> ...<div class="bloc6"> <? if ($r["$champ4"]>0) { echo '<div class="bloc6_a"><div class="bloc6_b"><center>'.$r["$champ4"].'</center></div><sub class="bloc6_a">/20</sub></div>'; } ?> </div>.... </body>

Re: traiter les décimales avec le CSS..?

Posté : 16 mars 2015, 16:58
par tof73
echo '<div class="bloc6_a"><div class="bloc6_b">'.round($r["$champ4"]).'</div><sub class="bloc6_a">/20</sub></div>';

Re: traiter les décimales avec le CSS..?

Posté : 16 mars 2015, 17:04
par sirakawa
IL y a trois solutions:
1 convertir en en,tier (en prévenant qu'il s'agit dune conversion)
2 avoir un style plus large pour toutes les valeurs (en ajoutant ,00 pour conserver les alignements verticaux et si b esoin en mettant ,00 de la coulmeur bdu fond)
3 avoir deux styles différents pour les cellules
Quant à détecter si c'est un décimal ou pas, il y a le php is_float qui suppose que la valeur est un nombre (cf is_numeric)
cf http://php.net/manual/fr/function.is-float.php

Re: traiter les décimales avec le CSS..?

Posté : 16 mars 2015, 18:27
par chanteur06
Merci de vos conseils , je teste demain ;-)

Re: traiter les décimales avec le CSS..?

Posté : 17 mars 2015, 13:44
par chanteur006
ok tof73, donc avec ta ligne, j'ai pas de conditions, on est d'accord? comment je fais pour appliquer un ccs sous condition..?

" Si décimale (is_float) , echo tel css, else, echo tel css.."
Quelle syntaxe je peux utiliser?

Code : Tout sélectionner

<? if ($r["$champ4"]>0 AND (is_float)) { echo '<div class="bloc6_d"><div class="bloc6_e"><center>'.$r["$champ4"].'</center></div><sub class="bloc6_a">/20</sub></div>'; } else { echo '<div class="bloc6_a"><div class="bloc6_b"><center>'.$r["$champ4"].'</center></div><sub class="bloc6_a">/20</sub></div>'; } ?>

Re: traiter les décimales avec le CSS..?

Posté : 17 mars 2015, 14:39
par sirakawa
un truc dans ce genre:
<style>
*.vert
{
	background-color:green;
}
*.jaune 
{
background-color:yellow;
}
</style>
<?PHP
$valeur = 12; 
$decimal = is_float($valeur);
var_dump($decimal);
$style = ($decimal== true) ? "class='vert'": "class= 'jaune'"; // attention aux quotes simples et doubles!!!
?>
<table>
<TR>
<td <?php echo ($style) ?> ><?PHP echo ($valeur) ?></td>

Re: traiter les décimales avec le CSS..?

Posté : 17 mars 2015, 15:10
par chanteur006
donc pour moi ça doit faire

Code : Tout sélectionner

<? $champ4= "note"; $decimal=is_float($champ4); var_dump($decimal); style= ($decimal==true) ? "class='bloc_a' ": "class= 'bloc_b' "; ?> <div><?php echo ($style) ?> ><?PHP echo ($champ4) ?></div>
...et ça doit s'afficher correctement...je vais essayer ça ;-) merci

Re: traiter les décimales avec le CSS..?

Posté : 17 mars 2015, 15:27
par chanteur006
...si je pose ça

Code : Tout sélectionner

<div class="bloc6"> <?php echo ($style) ?> <?php echo ($champ4) ?> </div>
l'affichage n'est que "class= 'bloc_b' note " dans mon carré..

A la base j'ai un IF

Code : Tout sélectionner

<? if ($r["$champ4"]>0) { echo '<div class="bloc6_a"><div class="bloc6_b"><center>'.$r["$champ4"].'</center></div><sub class="bloc6_a">/20</sub></div>'; } ?>
qui affiche la note, entiere ou décimale...

ya un probleme de syntaxe, non..?

Re: traiter les décimales avec le CSS..?

Posté : 17 mars 2015, 17:51
par sirakawa
<div <?php echo ($style) ?> ><?PHP echo ($champ4) ?></div>

Re: traiter les décimales avec le CSS..?

Posté : 17 mars 2015, 17:53
par sirakawa
explicatin a posteriori
<div class="bloc6"> une fis que tu as fermé le <div> ton echo affiche
<?php echo ($style) ?>

Re: traiter les décimales avec le CSS..?

Posté : 17 mars 2015, 18:57
par sirakawa
$champ4= 'note';
$decimal=is_float($champ4);
Tu dois pouvoir faire ca:
var_dump($decimal);
$style= ($decimal==true) ? "class='bloc6 bloc_a' ": "class= 'bloc6 bloc_b' ";
?>
<div <?php echo ($style) ?> ><?PHP echo ($champ4) ?></div>
<div <?php echo ($style) ?> ><?PHP echo ($champ4) ?></div>