(4 lignes plus haut.)Code:$res = mysql_numrows($Sec1min);
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)
Version imprimable
(4 lignes plus haut.)Code:$res = mysql_numrows($Sec1min);
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)
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
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é....
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
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 ceciJe ne passe pas a la ligne suivante cote couleurCode:
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="";}
et si je fais ceciLà toutes les colonnes dont le min est ok ce color en vert.Code:
1
2
3 if($resultat2['Sec1']==$Sec1){$Sec1color="#00FF00";} if($resultat2['Sec2']==$Sec2){$Sec2color="#00FF00";} if($resultat2['Sec3']==$Sec3){$Sec3color="#00FF00";}
Voilà donc le problème
BINGO ! ou presque : elles sont VIDES dès la 2ème ligne !Citation:
Je suis prêt à parier qu'elles donnent toutes 0 à partir de la 2ème ligne.
Je suis sûr que ça vient d'une mauvaise gestion du fameux $i !!
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
Remplace $i par 0 ICI :
Et re-testons...Code:
1
2
3 $Sec1 = mysql_result($Sec1min,0,"Sec1"); $Sec2 = mysql_result($Sec1min,0,"Sec2"); $Sec3 = mysql_result($Sec1min,0,"Sec3");
Chapeau bas
Un grand merci donc si ca bloque la prochaine fois je mets plutot 0 que $i ?
Tu as encore des erreurs de code (il manque des <tr>, entre autres)
Essaye avec un code "propre" :
Ici, une seule <table>Code:
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>
PS : je ne suis pas sûr de la validité (ou de l'intérêt) de certains bouts du code...
Code:
1
2 while($res!=$i) {
Code:
1
2 $i++; }
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