Afficher une ligne en couleur selon une condition
gmoscilla
Messages postés
13
Date d'inscription
Statut
Membre
Dernière intervention
-
gmoscilla Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
gmoscilla Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je débute en programmation et je voudrais afficher une ligne en couleur selon si la valeur de st est inférieure à la valeur de tp, sinon je la laisse en couleur normale.
Je vous donne le code que j'ai testé je pense que c'est pas loin mais pour l'instant rien ne marche.
EDIT : Ajout des balises de code (jordane)
merci !
je débute en programmation et je voudrais afficher une ligne en couleur selon si la valeur de st est inférieure à la valeur de tp, sinon je la laisse en couleur normale.
Je vous donne le code que j'ai testé je pense que c'est pas loin mais pour l'instant rien ne marche.
$sql=" SELECTprodid, tp, st, FROM produit LEFT JOIN stock ON produit.prodid =stock.prodid LEFT JOIN min ON stock.prodid = min.prodid; $vm_columns = array( "prodid" =>array("header"=>"Id", "type"=>"label", "width"=>"130px", "align"=>"center", "wrap"=>"nowrap", "text_length"=>"-1", "case"=>"normal"), "tp" =>array("header"=>"Tp", "type"=>"label", "width"=>"130px", "align"=>"center", "wrap"=>"nowrap", "text_length"=>"-1", "case"=>"normal"), "st" =>array("header"=>"St", "type"=>"label", "width"=>"130px", "align"=>"center", "wrap"=>"nowrap", "text_length"=>"-1", "case"=>"normal"); $data= $mysqli->query($sql); while($dnseuil = mysqli_fetch_array($data)) { if($dnseuil["st"]<=$dnseuil["tp"]) { $classe = '#FF0000' ; echo '<td style="background-color: #FF0000">'; } else { $classe = '#FFFFFF'; echo '<td>'; } }
EDIT : Ajout des balises de code (jordane)
merci !
A voir également:
- Afficher une ligne en couleur selon une condition
- Excel cellule couleur si condition texte - Guide
- Partager photos en ligne - Guide
- Mètre en ligne - Guide
- Aller à la ligne dans une cellule excel - Guide
- Formulaire en ligne de meta - Guide
2 réponses
Je viens de voir que tu avais mélangé le style procédural et le style objet ...
Devient :
$data= $mysqli->query($sql); while($dnseuil = mysqli_fetch_array($data))
Devient :
$data= $mysqli->query($sql); while($dnseuil = $data->fetch_array(MYSQLI_ASSOC))
Bonjour,
Déjà... il manque une double quote à la fin de ta variable $sql. ainsi qu'une parenthèse à la fin de ton array !
Ensuite.. tu créés une variables "$classe" mais tu ne l'utilises pas. (d'ailleurs.. pourquoi ta class est une couleur ???
Après... st et tp ... sont des champs de quel type dans ta bdd ? Du varchar ? du long ? du int ? une date ???
Si tu fais ceci :
Fais un clic-droit sur le TD dans ton navigateur et selectionne "inspecter" (ou examiner selon ton navigateur) et regarde le code html qui est généré dans ton navigateur...
Déjà... il manque une double quote à la fin de ta variable $sql. ainsi qu'une parenthèse à la fin de ton array !
Ensuite.. tu créés une variables "$classe" mais tu ne l'utilises pas. (d'ailleurs.. pourquoi ta class est une couleur ???
Après... st et tp ... sont des champs de quel type dans ta bdd ? Du varchar ? du long ? du int ? une date ???
Si tu fais ceci :
$vm_columns = array( "prodid" =>array("header"=>"Id" ,"type"=>"label" ,"width"=>"130px" ,"align"=>"center" ,"wrap"=>"nowrap" ,"text_length"=>"-1" ,"case"=>"normal"), "tp" =>array("header"=>"Tp" ,"type"=>"label" ,"width"=>"130px" ,"align"=>"center" ,"wrap"=>"nowrap" ,"text_length"=>"-1" ,"case"=>"normal"), "st" =>array("header"=>"St" , "type"=>"label" ,"width"=>"130px" ,"align"=>"center" , "wrap"=>"nowrap" ,"text_length"=>"-1" ,"case"=>"normal") ); $sql="SELECT prodid ,tp ,st FROM produit P LEFT JOIN stock S ON P.prodid =S.prodid LEFT JOIN min M ON S.prodid = M.prodid"; $data= $mysqli->query($sql); while($dnseuil = mysqli_fetch_array($data)) { $color = $dnseuil["st"]<=$dnseuil["tp"] ? '#FF0000' : ''; $classe = $dnseuil["st"]<=$dnseuil["tp"] ? '#FFFFFF' : ''; echo '<td style="background-color: '.$color.'" class="'.$classe.'" data-st="'.$dnseuil["st"].'" data-sp="'.$dnseuil["sp"].'">'; }
Fais un clic-droit sur le TD dans ton navigateur et selectionne "inspecter" (ou examiner selon ton navigateur) et regarde le code html qui est généré dans ton navigateur...
je t'invite, au passage, à lire (et à appliquer...) ceci : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Merci pour la réponse et pour ces remarques. Oui en effet j'avais oublié des parenthèses et des quotes merci!
Ensuite pour les st et tp ce sont des int, ils représentent des quantités. Et ce que je souhaitais faire c'était faire en sorte que la ligne de mon produit pour lequel son st est inférieur au tp s'affiche en couleur et que sinon il reste normal.
Pour la variable classe c'est parce que j'ai essayé de stocker cela dans une variable mais cela ne va pas.
Mais donc est-ce que c'est possible de le faire avec le code que j'ai là ou pas du tout ?
Merci
Ensuite pour les st et tp ce sont des int, ils représentent des quantités. Et ce que je souhaitais faire c'était faire en sorte que la ligne de mon produit pour lequel son st est inférieur au tp s'affiche en couleur et que sinon il reste normal.
Pour la variable classe c'est parce que j'ai essayé de stocker cela dans une variable mais cela ne va pas.
Mais donc est-ce que c'est possible de le faire avec le code que j'ai là ou pas du tout ?
Merci
Je ne sais plus quoi faire !
Et bien entendu... montre nous ce que ça donne.....
J'ai ce genre de choses
Une autre solution est d'afficher le code source de la page ( CTRL + U en général) et chercher le code du tableau et des TD dedans et nous le coller ici...