Problème avec la clause UNION

Répondre
math79
le 18/07/2006 à 13:51
math79
Bonjour à tous,
débutant dans le PHP je bloque devant un problème avec la clause UNION, je veux sortir les données de 2 tables dans un tableau dans un certain ordre limitées aux 8 1ere lignes j'ai donc écris le code ci-dessous mais le problème est qu' a l'affichage de mon tableau j'ai les 8 1ere lignes de la 1ere table puis les 8 1ere lignes de la seconde table alors que moi je voudrais afficher un tableau avec la 1ere ligne de la 1ere table puis la 1ere ligne de la 2eme table, la 2eme ligne de la 1ere table, la 2eme ligne de la 2eme table ainsi de suite ....
Merci d'avance à tout ceux qui me liront

le code:
<?$connection = mysql_connect ($host, $user, $password)
or die ("Connection au serveur impossible.");
$db = mysql_select_db ($database, $connection)
or die ("connection à la base de données imposible.");
$req = "(SELECT * FROM 125serie1 ORDER BY manche1+manche2, manche2 LIMIT 8) UNION ALL (SELECT * FROM 125serie2 ORDER BY manche1+manche2, manche2 LIMIT 8) ORDER BY manche1+manche2, manche2";
$resultat = mysql_query ($req)
or die ("Exécution de la requête impossible.");
$i=0;
echo "<table width='730' border='1' align='center' cellspacing='0' bordercolor='#FF6600' bgcolor='#CCCCCC'>
<tr>n
<td><div align='center'><strong>Pos.</strong></div></td>n
<td><div align='center'><strong>Pilote</strong></div></td>n
<td><div align='center'><strong>N&deg; de course </strong></div></td>n
<td><div align='center'><strong>Motoclub </strong></div></td>n
<td><div align='center'><strong>Manche2 </strong></div></td>n
<td><div align='center'><strong>Manche2 </strong></div></td>n
<td><div align='center'><strong>Cumul </strong></div></td>n
</tr>n";
while($row = mysql_fetch_row($resultat)){
$i++;
$nom = $row[0];
$numero = $row[1];
$motoclub = $row[2];
$manche1 = $row[3];
$manche2 = $row [4];
$cumul = $manche1 + $manche2;
/* Affichage du tableau */
echo "
<tr>n
<td width='50'><div align='center'>$i</div></td>n
<td width='250'>$nom</td>n
<td width='50'><div align='center'>$numero</div></td>n
<td width='100'><div align='center'>$motoclub</div></td>n
<td width='70'><div align='center'>$manche1</div></td>n
<td width='70'><div align='center'>$manche2</div></td>n
<td width='70'><div align='center'>$cumul</div></td>n
</tr>n";
}
echo "</table>";

mysql_close ($connection);?>
LA GLOBULE
le 18/07/2006 à 21:27
LA GLOBULE
Le plus simple c'est de gérer ça en PHP.

Quand tu fais ton while, rempli un tableau PHP pour ta premiere table, puis un second avec ta deuxieme table.

Ensuite, tu affiches les éléments en alternant à chaque fois le tableau PHP dans lequel tu pioches.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours