У меня есть 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 ".TAB_LEAGUEGAMES.".HomeScore AS hScore,
".TAB_CLUBS.".ClubName AS hClubName,
".TAB_TEAMS.".TeamName AS hTeamName,
".TAB_LEAGUEGAMES.".AwayScore AS aScore,
".TAB_CLUBS.".ClubName AS aClubName,
".TAB_TEAMS.".TeamName AS aTeamName
FROM ".TAB_LEAGUEGAMES."
JOIN ".TAB_CLUBS." ON ".TAB_CLUBS.".ClubID = ".TAB_LEAGUEGAMES.".HomeClubID
JOIN ".TAB_TEAMS." ON ".TAB_TEAMS.".TeamID = ".TAB_LEAGUEGAMES.".HomeTeamID
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
Club 2
85
Club 3
Table Teams
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
Получить данные из 3 таблиц [дублировать] ⇐ Php
Кемеровские программисты php общаются здесь
1741799035
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 ".TAB_LEAGUEGAMES.".HomeScore AS hScore,
".TAB_CLUBS.".ClubName AS hClubName,
".TAB_TEAMS.".TeamName AS hTeamName,
".TAB_LEAGUEGAMES.".AwayScore AS aScore,
".TAB_CLUBS.".ClubName AS aClubName,
".TAB_TEAMS.".TeamName AS aTeamName
FROM ".TAB_LEAGUEGAMES."
JOIN ".TAB_CLUBS." ON ".TAB_CLUBS.".ClubID = ".TAB_LEAGUEGAMES.".HomeClubID
JOIN ".TAB_TEAMS." ON ".TAB_TEAMS.".TeamID = ".TAB_LEAGUEGAMES.".HomeTeamID
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
Club 2
85
Club 3
Table Teams
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
Подробнее здесь: [url]https://stackoverflow.com/questions/79504358/retrieve-data-from-3-tables[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия