Bonjour.

Je possède deux tables teams et matchs
teams contient les champs team_id et team_name
matchs contient match_id, team1 et team2
team1 et team2 contiennent la valeur de team_id
Comment faire pour récupérer en une seule requête l'id et le nom de l'équipe 1 et 2 de chaque match.

Pour l'instant je procède comme suis :
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
	$sql = "SELECT t.team_id, t.team_id, t.team_name
FROM matchs AS m, teams AS t
WHERE t.team_id = m.team1";
	$result = mysql_query($sql, $base_id);
	if (mysql_num_rows($result) != 0)
	{
		while ($row = mysql_fetch_array($result))
		{
			$team1_playing[] = array($row['team_id'], $row['team_name']);
		}
		mysql_free_result($result);
		$sql = "SELECT m.match_id, t.team_id, t.team_name
FROM matchs AS m, teams AS t
WHERE t.team_id = m.team2";
		$result = mysql_query($sql, $base_id);
		$i = 0;
		while ($row = mysql_fetch_array($result))
		{
			$team2_playing[] = array($row['team_id'], $row['team_name']);
			$template->assign_block_vars('row', array(
					'ID' => $row[$cat1 . '_id'],
					'NAME' => rawurldecode($team1_playing[$i][1]) . ' - ' . rawurldecode($team2_playing[$i][1]),
					));
			$i++;
		}
		mysql_free_result($result);
		$teams_playing = array_merge($team1_playing, $team2_playing);
A noter que je crée le tableau $teams_playing car j'en ai besoin pour autre chose par la suite.

Merci pour votre aide.