Question avec les IF

Résolu/Fermé
nox979 Messages postés 61 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 20 septembre 2018 - 2 déc. 2014 à 22:28
nox979 Messages postés 61 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 20 septembre 2018 - 4 déc. 2014 à 17:44
Bonjour,

je commence avec le PHP et jorai une petite question,

j'ai un tableau , dans 2 colonne j'ai 2 numeros differente

j'aimerai s'avoir comment je peux faire si je dit:

quand ce numero et superieure a l'autre ,l'arriere plan devient vert de toute la ligne,



5 réponses

yassinozi Messages postés 43 Date d'inscription samedi 10 juillet 2010 Statut Membre Dernière intervention 18 juin 2016 1
Modifié par jordane45 le 3/12/2014 à 17:34
il te faut un traitement javascript.

Exemple :
var element1; 
var element2;
var value1;
var value2;


element1= document.getElementById('id_cellule1');
element2= document.getElementById('id_cellule2');

/* récupération et conversion de type des valeurs en int pour qu'on puisse les comparer*/

num1= parsInt(element1.firstChild.nodeValue);
num2= parsInt(element2.firstChild.nodeValue);



if(num1 > num2 ){

element1.firstChild.style.backgroundColor = "green";

}else{

element2.firstChild.style.backgroundColor = "red";
}


EDIT : Ajout des balises de code (jordane)
0
nox979 Messages postés 61 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 20 septembre 2018
3 déc. 2014 à 13:24
je commence tout juste avec le javascript

la tu me demande trop d'un coup xD

aparlt le if et else que je comprend ,

pour ce qui est les var je sais pas quoi mettre de dans

merci en tout cas
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
Modifié par jordane45 le 3/12/2014 à 17:48
La question étant posée dans la section PHP du forum ..
La réponse va donc concerner.. du PHP ...

<html>
<head><title>Exemple</title>
</head>
<body>
<?php
// Pour simuler le résultat d'une requête.. 
// ou toute autre chose te permettant d'alimenter ton tableau HTML
$arrData = array();
$arrData[] = array('col1'=>1,'col2'=>2);
$arrData[] = array('col1'=>2,'col2'=>0);
$arrData[] = array('col1'=>10,'col2'=>21);
$arrData[] = array('col1'=>14,'col2'=>28);
$arrData[] = array('col1'=>11,'col2'=>2);

echo "<table width='100%'>";

// On parcoure le tableau pour créer les lignes..
foreach($arrData as $D){
$valeur1 = $D['col1'];
$valeur2 = $D['col2'];
if($valeur1>$valeur2){
  $couleur = '#FF0000';
 $V1PlusGrandQueV2 = "Oui";
}else{
 $couleur = '#AACC00';
 $V1PlusGrandQueV2 = "Non";
} 
  echo " <tr bgcolor='".$couleur."'>
     <td>
     ".$valeur1."
     </td>
     <td>
     ".$valeur2."
     </td>
     <td>
     ".$V1PlusGrandQueV2."
     </td>
    </tr>";
 
}
echo "</table>";

?>
</body>
</html>




Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
0
yassinozi Messages postés 43 Date d'inscription samedi 10 juillet 2010 Statut Membre Dernière intervention 18 juin 2016 1
Modifié par yassinozi le 3/12/2014 à 18:16
Bonjour,

Je t'explique l'exemple que je t'ai écrit en haut pour que tu comprends un peu la logique.

- Alors on commence par les 4 premières lignes :

/*
Le mot clé VAR qui est positionner avant les variables sert à la déclaration "ce n'est pas obligatoire, si tu le mets pas ca pose pas de probleme au niveau du code".
comme tu peux constater les variables en JS n'ont pas de type ( int, string...), elles ont un typage dynamique ( elles prennent le type de la valeur affectée)
*/

var element1;
var element2;
var value1;
var value2;


- Les deux ligne qui viennent apres, ce sont ce qu'on appelle le DOM ( Document Object Model ) est un standard indépendant qui permet la manipulation de la structure des documents tel que HTML, XML...

/*
La commande que j'ai utilisé ici est : document.getElementById("id")
cette comment permet de récupérer un objet HTML par son id qu'on met comme paramètre au milieu de la fonction getElementById (il faut respecter la casse c'est important )

Puis j'ai affecté cet objet à ma variable pour éviter la répétition au niveau de mon code
*/


element1= document.getElementById('id_cellule1');
element2= document.getElementById('id_cellule2');

- Puis j'ai utilisé element1.firstChild.nodeValue element1 c'est l'element qu'on a récupéré avec la méthode getElementById(), firstChild c'est le premier élément fils dans ton cas ça doit être le texte à l'intérieur, puis nodeValue pour retourner la valeur du texte .


L'élément qu'on a recuperé et un chiffre mais en type chaine de caractère, donc il faut le convertir en int, pour cela on doit utiliser la fonction de converstion parseInt().


- La condition IF ELSE pour comparer les deux valeurs récupérées auparavant


- mais ici j'ai commis une erreur :

ce n'est pas :

element1.firstChild.style.backgroundColor = "green";

mais ça doit être.

element1.parentNode.style.backgroundColor = 'la couleur de ton choix'

Parce que l'element1 doit etre la baliseTD de ton tableau, et toi tu veux appliquer la couleur sur la ligne TR pas seulement sur la cellule, donc c'est le parent de TD qui est TR ( parentNode )
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nox979 Messages postés 61 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 20 septembre 2018
4 déc. 2014 à 17:44
merci pour votre aide,

je lai fait autrement es ca fonctionne apparament

Merci encore
0