Afficher en une certaine couleur la ligne en fonction de la valeur statut

Résolu
cs_plopinou Messages postés 117 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 13 mai 2009 - 6 févr. 2006 à 14:56
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 - 6 févr. 2006 à 16:18
Bonjour a vous tous :)
je voudrai apporter deux grosse amelioration que voici :

1) trier par un certain ordre que moi je choisi, ici il les trie par ordre lui meme je suppose par ordre du menu deroulant ou alphabetique. ( ORDER BY statut='en cours', statut='in', ??? est ce comme ca?

ensuite, par statut different, je voudrai une couleur differente. Je vois pas du tout comment faire. est ce que quelqu'un pourrait m'aider?

voici mon code pour mieux comprendre :

<?php

//include("connect.php");
// Paramètres de connexion à la base de données

$BD_serveur = "localhost";
$BD_utilisateur = "root";
$BD_motDePasse = "";
$BD_base = "dit";
?>


<center><?php include "menu.php";?></center>,
<?
mysql_connect("localhost", "root", "");
mysql_select_db("dit");

$requete= "SELECT idclient, nom, telephone, gsm, dateheure, assemblage,statut FROM client ORDER BY statut ";

$sql = mysql_query($requete) or die('Erreur SQL');

echo "<table width=\"100%\">";
echo("----, ID</td> Client, Tel / GSM, Entree, assemblage, Statut, c'est celui la, \");
while(list($idclient,$nom, $telephone, $gsm , $dateheure, $assemblage,$statut ) = mysql_fetch_array($sql)) {

//$resolution = str_replace('
','\r\n',$resolution);
echo \", \".
\", \";
if ($telephone!=\"\")
{
echo \"";
}
else
{
echo ", \";
}
if ($gsm!=\"\")
{
echo \"</td>\";
}

echo //\"<textarea disabled=\"disabled\" size=\"45\">$resolution</textarea>, \".
\"$dateheure, \";
?> <center><? if($assemblage==1) echo "A"; ?> </center>, </gras>

<select name="statut" id="select" > <? echo " <option>$statut</option>"; ?>
<option value='In' >In</option><option value='En cours' >En cours</option><option value='Out' >Out</option><option value='En attente' >En attente</option><option value='Appel OK' >Appel OK</option><option value='Mail envoyé' >Mail envoyé</option> </select>,

</td>
&nbsp;,

<? echo \"----
, ----
, \";
}
echo "
";
?>
<table>



<html>
<head><title>.:: STATUT ::.</title></head>


</html>

Encore Merci

10 réponses

BunoCS Messages postés 15342 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 26 janvier 2023 103
6 févr. 2006 à 15:59
Suivant les valeurs de $status, on change la couleur de la ligne:



switch ($status)

{

case 'val1':

echo "<tr bgcolor="#ff0000">...</tr>";

break;

case 'val2':

echo "<tr bgcolor="#00ff00">...</tr>";


break;

....

}

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
3
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
6 févr. 2006 à 16:18
passe par une variable
case 'En cours':
$couleur_de_fond="#00ff00";
case 'In':
$couleur_de_fond="#ff0000";
...

et plus loin

echo "<tr bgcolor=' ".$couleur_de_fond." '>";
3
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
6 févr. 2006 à 15:12
si statut est un champ alpha, ça me parait normal
order by statut !
0
cs_plopinou Messages postés 117 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 13 mai 2009
6 févr. 2006 à 15:16
oui ici je les trie par statuts differents, mais je voudrai que par exemple le statuts : En cours soit le premier des stauts afficher ... comment faire?
0

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

Posez votre question
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
6 févr. 2006 à 15:22
tu modifies le libellé dans la base
1- En cours
2- ...

je ne vois que ça (ou alors tu fais une table de correspondance avec des codes)
0
cs_plopinou Messages postés 117 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 13 mai 2009
6 févr. 2006 à 15:26
arf suis bete :$

oui c'est ok comme ca et pour la couleur vous avez une idee??
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
6 févr. 2006 à 15:36
tu peux charger les differents statuts dans un tableau en leur associant une couleur
quand tu affiches le status , tu récuperes la couleur
faut voir

:?)
0
cs_plopinou Messages postés 117 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 13 mai 2009
6 févr. 2006 à 15:42
heu c'est a dire, ca me semble parfait, mais je vois pas trop comment le faire :$
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
6 févr. 2006 à 16:04
tu te simplifierais surement la vie en faisant une petite table de status dans mysql

id_status --> 1
libelle --> En cours
couleur --> 'blue'

et dans ton fichier client, tu mémorises le code statut
quand tu affiches, tu fais un select et tu récupères la libellé et la couleur directement
...

de plus, ton order by statut ne posera plus de problème
0
cs_plopinou Messages postés 117 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 13 mai 2009
6 févr. 2006 à 16:11
oui mais ce proceder va etre tres lourd si j'ai plusieurs chose a afficher par ligne non?

car a en gros si je comprend bien je fais comme ceci :

switch ($statut)
{
case 'In' :
echo "<tr bgcolor= "#ff0000"> echo "<td> </td>".
"<td></td>";
if ($telephone!="")
{
echo "<td>";
}
else
{
echo "<td>";
}
if ($gsm!="")
{
echo "</td>";
}

echo //"<td><textarea disabled="disabled" size="45">$resolution</textarea></td>".
"<td>$dateheure </td>";
?> <td><center> <? if($assemblage==1) echo "A"; ?> </center></td>


<td><select name ="statut" id= "select" > <? echo " <option>$statut</option>"; ?>
<option value='In' >In</option><option value='En cours' >En cours</option><option value='Out' >Out</option><option value='En attente' >En attente</option><option value='Appel OK' >Appel OK</option><option value='Mail envoyé' >Mail envoyé</option> </select>
</td>



</td>
<td>&nbsp;</td>
</tr>


<? echo "<tr><td></td></tr><tr><td></td></tr>";
</tr>";
break;
case 'En cours':
echo "<tr bgcolor="#00ff00"> echo "<td> </td>".
"<td></td>";
if ($telephone!="")
{
echo "<td>";
}
else
{
echo "<td>";
}
if ($gsm!="")
{
echo "</td>";
}

echo //"<td><textarea disabled="disabled" size="45">$resolution</textarea></td>".
"<td>$dateheure </td>";
?> <td><center> <? if($assemblage==1) echo "A"; ?> </center></td>


<td><select name ="statut" id="select" > <? echo " <option>$statut</option>"; ?>
<option value='In' >In</option><option value='En cours' >En cours</option><option value='Out' >Out</option><option value='En attente' >En attente</option><option value='Appel OK' >Appel OK</option><option value='Mail envoyé' >Mail envoyé</option> </select>
</td>



</td>
<td>&nbsp;</td>
</tr>


<? echo "<tr><td></td></tr><tr><td></td></tr>";
</tr>";
break;


}
0
Rejoignez-nous