Probleme d'affichage des resultats

Fermé
MELmed - 25 mai 2010 à 00:39
 MELmed - 25 mai 2010 à 13:10
Bonjour,


Bonjour tout le monde

bonjour,

j'ai un probleme dans la programmation php/syql
je veux afficher des resultats dans un tableau grouper par date
jai fai un script mais l'affichage n'été pas comme je voulai

voila l'affichage du résultats de mon script
Date |eq1|r1-r2|eq2|
-----------------------------|
30-04-2010 |AA |0-1| BB|
30-04-2010 |CC |0-1| DD|
30-04-2010 |EE |0-1| FF|
30-05-2010 |GG |0-1| HH|
30-05-2010 |II |0-1| JJ|
30-06-2010 |KK |0-1| LL|
-----------------------------|

moi je veux afficher les resultas comme ça:

Date |30-04-2010 |
-----------------------------|
30-04-2010 |AA |0-1| BB|
30-04-2010 |CC |0-1| DD|
30-04-2010 |EE |0-1| FF|
-----------------------------|
Date |30-05-2010 |
-----------------------------|
30-05-2010 |GG |0-1| HH|
30-05-2010 |II |0-1| JJ|
30-06-2010 |KK |0-1| LL|
ça veux dire que je veux afficher toutes les resultats d'une date grouper par les defferent dates

mon script c'ecrit comme ça:
table name : resultats , les champs id,eq1,eq2,r1,r2,date
--------------------------------------------------------------------------------------------------------------------
echo'<center><table border="0" width="300" style="border: 1px dotted #C0C0C0">';
$view_res= mysql_query("Select * from resultas order by date ") or die (mysql_error());
while($res=mysql_fetch_array($view_res))
{
extract($res) ;

echo" <tr>
<td width='80' style='border-bottom: 1px solid #F4F4F4'><font size='2' face='Tahoma'>$date $time</font></td>";
}
$view_res= mysql_query("Select * from resultas ") or die (mysql_error());
while($res=mysql_fetch_array($view_res))
{
extract($res) ;

echo" <tr>
<td width='100' style='border-bottom: 1px solid #F8495A'><font size='2' face='Tahoma'>$eq1 $r1 - $r2 $eq2</font></td>
</tr>";

}
echo"</table></center>" ;
?>'
------------------------------------------------------------------------------------------------

est-ce-que possible de m'aider pour résoudre mon problème et merci infiniment
MELmohammed

2 réponses

hack_net Messages postés 783 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 5 juin 2014 51
25 mai 2010 à 10:38
Déjà, je doit dire qu'a l'inverse des gens qui effacent le bonjour automatique, toi tu en rajoute, ce qui est plus que polis XD

Alors heu ton code est un peut prise de tête avant tout :p Je tiens aussi a signaler que ce n'est pas un order by mais un group by qu'il faut utiliser...

Je te donne une autre solution un peut plus simple :
<?php
echo'<center><table border="0" width="300" style="border: 1px dotted #C0C0C0">';
$view_res= mysql_query("Select * from resultas group by date time") or die (mysql_error());
while($res=mysql_fetch_array($view_res)){
	echo"<tr><td width='80' colspan='2' style='border-bottom: 1px solid #F4F4F4; text-align: center; font-family: Tahoma; font-size: 12px;'>".$res['date']."</th></tr>";
	$date = $res['date'];
	$sql = mysql_query("SELECT * FROM resultats WHERE date='$date'");
	while($tab = mysql_fetch_array($sql)){
		echo"<tr><td width='100' style='border-bottom: 1px solid #F8495A; font-family: Tahoma; font-size: 12px;'>$date</td><td width='100' style='border-bottom: 1px solid #F8495A; font-family: Tahoma; font-size: 12px;'>".$tab['eq1']."</td></tr>";
		echo"<tr><td width='100' style='border-bottom: 1px solid #F8495A; font-family: Tahoma; font-size: 12px;'>$date</td><td width='100' style='border-bottom: 1px solid #F8495A; font-family: Tahoma; font-size: 12px;'>".$tab['eq2']."</td></tr>";
		echo"<tr><td width='100' style='border-bottom: 1px solid #F8495A; font-family: Tahoma; font-size: 12px;'>$date</td><td width='100' style='border-bottom: 1px solid #F8495A; font-family: Tahoma; font-size: 12px;'>".$tab['r1']."</td></tr>";
		echo"<tr><td width='100' style='border-bottom: 1px solid #F8495A; font-family: Tahoma; font-size: 12px;'>$date</td><td width='100' style='border-bottom: 1px solid #F8495A; font-family: Tahoma; font-size: 12px;'>".$tab['r2']."</td></tr>";
	}
}
echo"</table></center>" ;
?>


Pas sûre qu'il marche a 100% car j'ai du adapter pour ton design et je ne sais pas ce que ça va donner...

A+ tiens-moi au courant ;)
1
hack_net : merçi infiniment pour le complément, le problème est résolu
0
gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 171
25 mai 2010 à 10:30
Bonjour,
Tu dois créer une variable temporaire qui contiendra la date du tour de boucle actuel.
A chaque tour tu vérifie si elle est identique:
- Si oui => Tu continue ton affichage
- Si non => Tu stocke la nouvel date dans la variable temporaire puis tu re-créés un tableau

Et voila, c'est pas plus compliqué ! :-)

A+
Gaerebut
0