IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Affecté une couleur selon le minimum [MySQL]


Sujet :

PHP & Base de données

  1. #21
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
               $res = mysql_numrows($Sec1min);
    (4 lignes plus haut.)

    Il y a plein de truc pas très clair dans ton code !

    - tu ne sembles pas vraiment "maitriser" $i (savoir ce que c'est)

    => Mets des NOMS DE VARIABLES EXPLICITES (= faciles à comprendre)

  2. #22
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 171
    Par défaut
    oui
    Je reviens obliger de faire minimum 2 tours de piste pour avoir des infos car la table est vider là
    1 heure avant que cela ce revide

  3. #23
    Invité
    Invité(e)
    Par défaut
    Franchement à ta place, je reprendrais ce code DEPUIS LE DEBUT, en mettant :
    - des commentaires dans le code
    - des noms de variables explicites
    - une belle indentation
    - et en sortant le html du PHP (mais chacun ses gouts)

    Si ça se trouve, l'erreur est grosse comme une maison, mais on ne la voit pas à cause d'un code mal ficelé....

  4. #24
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 171
    Par défaut
    si tu suis le liens http://www.sim-multi-racing-car.com/...2/monitor2.php tu verras que le Sec1 ne s'affiche pas.
    Et les valeurs que je fais exprès là pour le test d'afficher a part en haut sont bien le min que l'on retrouve en vert sauf le sec1

  5. #25
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 171
    Par défaut
    Bon d'après ce que je comprend c'est qu'il ne continue pas après la 1ere ligne là est le hic donc car le min est bon sinon.

    Alors si je laisse comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                   if($resultat2['Sec1']==$Sec1){$Sec1color="#00FF00";}elseif($resultat2['Sec1']!=$Sec1){$Sec1color="";}
                   if($resultat2['Sec2']==$Sec2){$Sec2color="#00FF00";}elseif($resultat2['Sec2']!=$Sec2){$Sec2color="";}
                   if($resultat2['Sec3']==$Sec3){$Sec3color="#00FF00";}elseif($resultat2['Sec3']!=$Sec3){$Sec3color="";}
    Je ne passe pas a la ligne suivante cote couleur
    et si je fais ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                   if($resultat2['Sec1']==$Sec1){$Sec1color="#00FF00";}
                   if($resultat2['Sec2']==$Sec2){$Sec2color="#00FF00";}
                   if($resultat2['Sec3']==$Sec3){$Sec3color="#00FF00";}
    Là toutes les colonnes dont le min est ok ce color en vert.

    Voilà donc le problème

  6. #26
    Invité
    Invité(e)
    Par défaut
    Je suis prêt à parier qu'elles donnent toutes 0 à partir de la 2ème ligne.
    BINGO ! ou presque : elles sont VIDES dès la 2ème ligne !

    Je suis sûr que ça vient d'une mauvaise gestion du fameux $i !!
    Dernière modification par Invité ; 07/05/2012 à 18h53.

  7. #27
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 171
    Par défaut
    Regarde le resultat

    Alors je dirais plutot du $i

    vu qu'il y en a deux ca coince lmais comment procede c'est souvent en plus a cause du $i que j'ai des soucis je n'arrive jamais a m'en sortir avec

  8. #28
    Invité
    Invité(e)
    Par défaut
    Remplace $i par 0 ICI :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                 $Sec1 = mysql_result($Sec1min,0,"Sec1");
                 $Sec2 = mysql_result($Sec1min,0,"Sec2");
                 $Sec3 = mysql_result($Sec1min,0,"Sec3");
    Et re-testons...

  9. #29
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 171
    Par défaut
    Chapeau bas
    Un grand merci donc si ca bloque la prochaine fois je mets plutot 0 que $i ?

  10. #30
    Invité
    Invité(e)
    Par défaut
    Tu as encore des erreurs de code (il manque des <tr>, entre autres)

  11. #31
    Invité
    Invité(e)
    Par défaut
    Essaye avec un code "propre" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    <?php
    $req_xlaps = mysql_query("SELECT DriverName, VehicleClass, Lap, Sec1, Sec2, Sec3, LapTime FROM xlaps ORDER BY LapTime, DriverName ASC;");
    ?>
    <div align="center">
    	<h1>Hotlaps <?php echo $Track; ?></h1>
    	<table width="85%" bgcolor="#0000FF" border="1" id="td1">
    	<thead>
    		<tr>
    			<th width="15%">Pilotes</th>
    			<th width="15%">Teams / Mods</th>
    			<th width="10%">Nbr. Tours</th>
    			<th width="10%">Best Lap</th>
    			<th width="10%">Différence</th>
    			<th width="10%">Sect. 1</th>
    			<th width="10%">Sect. 2</th>
    			<th width="10%">Sect. 3</th>
    		</tr>
    	</thead>
    	<tbody>
    <?php
    // couleurs de ligne tr
    $trcolor[0] = '#FFEECC';
    $trcolor[1] = '#CCCCCC';
    // initialisation
    $i=0;
    $LapTime2 = 0;
    // Affichage
    while($resultat2 = mysql_fetch_array($req_xlaps))
    {
    	// requete : temps mini 1,2,3
    	$reqMinSec = mysql_query("SELECT MIN(Sec1) AS minSec1, MIN(Sec2) AS minSec2, MIN(Sec3) AS minSec3 FROM xlaps;") or die (mysql_error());
    	$res	= mysql_num_rows($reqMinSec);
    	$minSec1 = mysql_result($reqMinSec,0,"minSec1");
    	$minSec2 = mysql_result($reqMinSec,0,"minSec2");
    	$minSec3 = mysql_result($reqMinSec,0,"minSec3");
    	$i=0;
    	// tant qu'on a des résultats :
    	while($res!=$i)
    	{
    		// temps mini ?
    		$Sec1color = ($resultat2['Sec1']==$minSec1)? ' color="#00FF00"' : '';
    		$Sec2color = ($resultat2['Sec2']==$minSec2)? ' color="#00FF00"' : '';
    		$Sec3color = ($resultat2['Sec3']==$minSec3)? ' color="#00FF00"' : '';
    		// différence avec le temps précédent
    		$LapTime = $resultat2['LapTime'];
    		$LapTime1 = $resultat2['LapTime'];
    		$diff_LapTime = ($LapTime1 - $LapTime2); // différence
    		if($LapTime2 == $LapTime1 ){
    			$diff_LapTime = "00.00.000";
    		}
    		$LapTime2 = $LapTime1; // (pour la boucle suivante)
    ?>
    		<tr color=<?php echo "$trcolor[($i % 2)]; ?>">
    			<td><?php echo $resultat2['DriverName']; ?></td>
    			<td><?php echo $resultat2['VehicleClass']; ?></td>                
    			<td><?php echo $resultat2['Lap']; ?></td>
    			<td><?php echo formate1_temps($LapTime); ?></td>
    			<td><?php echo formate1_temps($diff_LapTime); ?></td>
    			<td<?php echo $Sec1color; ?>><?php echo $resultat2['Sec1']; ?></td>
    			<td<?php echo $Sec2color; ?>><?php echo $resultat2['Sec2']; ?></td>
    			<td<?php echo $Sec3color; ?>><?php echo $resultat2['Sec3']; ?></td>
    		</tr>
    <?php
    		$i++;
    	} 
    	$i++; // ?????
    }
    ?>
    	</tbody>
    	<table>
    Ici, une seule <table>

    PS : je ne suis pas sûr de la validité (ou de l'intérêt) de certains bouts du code...
    Dernière modification par Invité ; 07/05/2012 à 19h39.

  12. #32
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 171
    Par défaut
    Re
    le while et le $i++; c'est a cause de mon code de couleur bgcolor
    une ligne sur deux cela change enfin avant car la il fonctionne plus avec les couleur verte mais bon ça ce n'est pas grave.
    Je n'arrive pas a retenir la nouvelle façon (depuis longtemps) d'écrire alors je reste sur mes premier apprentissage de phpdebutant az-php et j'en passe de cette époque.
    Donc par rapport à des plus jeune que moi ca choque c'est sur.
    Mais mon code je sais ou il est ce que j'en fait après les erreurs je pense etre comme tous le monde c'est surtout de l'inattention.
    Et aussi des choses que je ne connais pas.
    Il y a tellement de chose dans le php et qquand on y mele en plus le mysql c'est pas si simple.

    Mais c'est le resultat qui compte et quand c'est pas pour du pro ce n'est pas très important dès l'instant que l'on obtient ce que l'on voulais après quand on a des lacunes on s'adresse à des pro comme toi
    et heureusement que vous êtes là sinon on galèrerai pas mal et surtout longtemps


    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [Validator] affecter une couleur aux champs en erreur
    Par alexandre7 dans le forum Struts 1
    Réponses: 15
    Dernier message: 23/05/2009, 15h09
  2. Affecter une couleur à chaque face d'un polygone
    Par Pragmateek dans le forum OpenGL
    Réponses: 16
    Dernier message: 26/02/2009, 18h55
  3. Affecter une couleur à un contrôle placé dans une feuille de calculs
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 04/03/2008, 19h22
  4. Réponses: 4
    Dernier message: 27/05/2007, 19h09
  5. [D7] affecter une couleur à un TLabel
    Par raoulmania dans le forum Composants VCL
    Réponses: 8
    Dernier message: 05/09/2005, 14h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo