[RESOLU] Application d'une class en fonction d'un résultat

Petit nouveau ! | 3 Messages

23 sept. 2013, 21:13

Bonsoir à tous,

Je suis nouveau sur le forum. Je viens de suisse et technicien IT

Je gère un site internet pour un club je me trouve devant un problème et je ne trouve pas la solution

Dans le code de ma page j'affiche des résultats d'une table MySQL.

J'aimerais appliquer une class en fonction du résultat qui s'affiche.

voici ma classe

Code : Tout sélectionner

.degrader{ background: -webkit-linear-gradient(#000000, #666666); background: -moz-linear-gradient(#000000, #666666); background: -ms-linear-gradient(#000000, #666666); background: -o-linear-gradient(#000000, #666666); background: linear-gradient(#000000, #666666); }
Exemple: Si la valeur de mon champ "equipe" = "equipe1" alors toute la ligne du tableau = ma class

Voici le code de toute ma page.

J'ai mis un commentaire à la ligne de ce que j'aimerais à ligne 54 et 55

Code : Tout sélectionner

<?php include '../connexion.php'; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><link rel="stylesheet" type="text/css" href="test.css"/> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>toto</title> </head> <style type="text/css"> .degrader{ background: -webkit-linear-gradient(#000000, #666666); background: -moz-linear-gradient(#000000, #666666); background: -ms-linear-gradient(#000000, #666666); background: -o-linear-gradient(#000000, #666666); background: linear-gradient(#000000, #666666); } </style> <body> <?php $select = 'SELECT * FROM mysql_classement where id_saison = '.$saison.' ORDER BY Pts DESC, M, diff DESC, buts DESC'; $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() ); $nb_classement =0; $total = mysql_num_rows($result); $var=0; if($total) { echo '<table width="466" cellspacing="0" align="left" class="coin">'."\n"; echo '<tr bgcolor='.$bgc.' >'; echo '<td width="29" ></td>'; echo '<td width="155" align="left">Equipes groupe A</td>'; echo '<td width="28">M</td>'; echo '<td width="28" align="right">G</td>'; echo '<td width="28" align="right">P</td>'; echo '<td width="28" align="right">N</td>'; echo '<td width="40" align="right">+</td>'; echo '<td width="40" align="right">-</td>'; echo '<td width="40" align="right">+/-</td>'; echo '<td width="42" align="right">Pts</td>'; echo '</tr>'."\n"; while($row = mysql_fetch_array($result)) { $nb_classement++; // 54 J'aimerais faire le test sur le champ equipes // 55 si equipes = "equipe1" alors la class "degrader à toute la ligne" echo '<td >'.$nb_classement.'.</td>'; echo '<td align="left">'.$row['equipes'].'</td>'; echo '<td >'.$row['M'].'</td>'; echo '<td align="right">'.$row['G'].'</td>'; echo '<td align="right" >'.$row['P'].'</td>'; echo '<td align="right" >'.$row['N'].'</td>'; echo '<td align="right" >'.$row['buts'].'</td>'; echo '<td align="right" >'.$row['enc'].'</td>'; echo '<td align="right" >'.$row['diff'].'</td>'; echo '<td align="right" >'.$row['pts'].'</td>'; echo '</tr>'."\n"; } echo '</table>'."\n"; } else echo 'Pas encore de données'; mysql_free_result($result); ?> </body> </html>

J'espère que je vous avez compris ce que j'aimerais.

Merci beaucoup

Mammouth du PHP | 790 Messages

23 sept. 2013, 21:23

Bien il suffit de stoker la classe dans une variable..
puis si elle existe on l'utilise comme classe css au sein du html si non, on initialise la variable avec une autre class
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Petit nouveau ! | 3 Messages

23 sept. 2013, 21:36

merci pour votre réponse.

Le code m'a été donné comme ceci. Je fais juste la maintenance du site. On m'a demandé si c'etait possible de faire ceci. La personne qui a fait ce code n'est plus la..

Mammouth du PHP | 790 Messages

23 sept. 2013, 22:04

Si tu n'essaye pas, comment va tu faire par la suite ?
EDIT: il manque une ligne dans la boucle: echo '<tr>' . "\n";
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Petit nouveau ! | 3 Messages

01 oct. 2013, 15:32

Bonjour,

voila j'ai trouvé la solution

if($total) {
	
    echo '<table width="466" cellspacing="0" align="left" class="coin">'."\n";
        echo '<tr bgcolor='.$bgc.' >';
        echo '<td width="29" ></td>';
        echo '<td width="155" align="left">Equipes groupe A</td>';
        echo '<td width="28">M</td>';
		echo '<td width="28" align="right">G</td>';
		echo '<td width="28" align="right">P</td>';
		echo '<td width="28" align="right">N</td>';
		echo '<td width="40" align="right">+</td>';
		echo '<td width="40" align="right">-</td>';
		echo '<td width="40" align="right">+/-</td>';
		echo '<td width="42" align="right">Pts</td>';
        echo '</tr>'."\n";
		
    while($row = mysql_fetch_array($result)) {
	$nb_classement++;

if ($row['equipes']=='HC Lusitanos') 
{ 
echo '<tr class="degrader">';

}else

if ($var==0) 
{ 
echo '<tr bgcolor="#333333">';
$var=1; 
}else{ 
echo '<tr bgcolor="#666666">';
$var=0; 


}

// J'aimerais faire le test sur le champ equipes
// si equipes = "equipe1" alors la class "degrader à toute la ligne"
			echo '<td>'.$nb_classement.'.</td>';
			echo '<td align="left">'.$row['equipes'].'</td>';
			echo '<td>'.$row['M'].'</td>';
			echo '<td align="right">'.$row['G'].'</td>';
			echo '<td align="right">'.$row['P'].'</td>';
			echo '<td align="right">'.$row['N'].'</td>';
			echo '<td align="right">'.$row['buts'].'</td>';
			echo '<td align="right">'.$row['enc'].'</td>';
			echo '<td align="right">'.$row['diff'].'</td>';
			echo '<td align="right">'.$row['pts'].'</td>';
		

	    }		
		echo '</tr>'."\n";

    echo '</table>'."\n";

}
else echo 'Pas encore de données';

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

01 oct. 2013, 20:09

Modération :
Si ta question est résolue, pense à l'indiquer pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.
Tu peux réaliser cette opération toi-même en cliquant sur le bouton vert "Mettre le sujet en tant que Résolu" situé en haut de la page à côté du titre du sujet.
Il en faut peu pour être heureux ......