Получить данные из 3 таблиц [дублировать]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Получить данные из 3 таблиц [дублировать]

Сообщение Anonymous »

У меня есть 3 таблицы, в которых я хочу извлечь данные.
Первая таблица - это список игр с оценкой и идентификаторами клубов и команд.
Другие 2 таблицы - это идентификаторы и названия клубов. И идентификаторы и имена команд. < /P>
Результат, который я хочу получить, - это список строк (массив) со счетом и именами клубов и команд.
Так что на самом деле идентификаторы клубов и команд должны быть заменены именами клубов и команд. Как дома, так и в гостях. define('TAB_CLUBS', 'Clubs');
define('TAB_TEAMS', 'Teams');
define('TAB_LEAGUEGAMES', 'Games');

try {

// set the PDO error mode to exception
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$stmt = $db->prepare("SELECT s.HomeScore AS hScore,
hc.ClubName AS hClubName,
ht.TeamName AS hTeamName,
s.AwayScore AS aScore,
ac.ClubName AS aClubName,
at.TeamName AS aTeamName
FROM ".TAB_LEAGUEGAMES." s
JOIN ".TAB_CLUBS." hc ON hc.ClubID = s.HomeClubID
JOIN ".TAB_TEAMS." ht ON ht.TeamID = s.HomeTeamID
JOIN ".TAB_CLUBS." ac ON hc.ClubID = s.AwayClubID
JOIN ".TAB_TEAMS." at ON ht.TeamID = s.AwayTeamID
WHERE HomeTeamID='15' OR AwayTeamID='15'");

$stmt->execute(array());
$teamgames = $stmt->rowCount();
$row = $stmt->fetch();

if($teamgames > 0) {
while($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
echo("TEAMGAMES_HOMESCORE:".$row['hScore'].
"|TEAMGAMES_HOMECLUB:".$row['hClubName'].
"|TEAMGAMES_HOMETEAM:".$row['hTeamName'].
"|TEAMGAMES_AWAYSCORE:".$row['aScore'].
"|TEAMGAMES_AWAYCLUB:".$row['aClubName'].
"|TEAMGAMES_AWAYTEAM:".$row['aTeamName'].
";");
}
die();
} else {
die("NULL");
}

}
catch(PDOException $e)
{
// echo "Error: " . $e->getMessage();
die("An error occurred, please retry. $e");
< /code>
Таблицы игр < /p>



homescore < /th>
homeclubid < /th>
homeTeamD < /th> /> AwayScore < /th>
aTh -clubid < /th>
aTeAMID < /th>
< /tr>
< /thead>


2 < /td>
45
< /td>
45
2 < /td>
45 />15
1
85
50


0
75
32
5 < /td>
45 < /td>
15 < /td>
< /tr>

2 < /td>
85 < /td>
50

85 < /td>
50

85 < /td>
50 />75
32



Table Clubs



ClubId < /th>
clubName < /th>
< /tr>
< /thead>


45 < /td>
club 1 < /td>
< /tr>

/> 75 < /td>
Club 2 < /td>
< /tr>

85 < /td>
Club 3 < /td>
< /tr>
< /tbody>
< /table> < /br /br /< /br /b /br /> < /br /br />




teamId < /th>
teamName < /th>
< /tr>
< /theAd>



< /thead>


Team 4


32
Team 26


50
Team 67

< /tbody>
< /table> < /div>
Так что в идеале, что я хотел бы вернуть, было бы: < /p>



< /br />

ClubName(Home)
TeamName(Home)
AwayScore
ClubName(Away)
TeamName(Away)




2
Club 1
Team 4
1
Club 3
Team 67


0
Club 2
команда 26
5
Club 1
команда 4




Подробнее здесь: https://stackoverflow.com/questions/795 ... m-3-tables
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»