[英]Inner Join tables and display in php
我想通過內部聯接從更多表中選擇數據。
這些是我的桌子。
teams (id, team_name)
badges (id, badgename, badgeimage, badgedescription)
teambadges (id, team_id, badge_id)
我想寫一個聲明,顯示團隊名稱以及他們擁有的所有徽章。 我也想在表格中顯示
這是我的聲明。
$sql = mysqli_query($connection, 'SELECT teams.team_name,badges.badgename
FROM teambadges
INNER JOIN teams ON teams.id = teambadges.team_id
INNER JOIN badges ON badges.id = teambadges.badge_id;');
Php:
<table class="table table-condensed table-striped table-bordered table-hover">
<thead>
<tr>
<th width="5%"><center>No</center></th>
<th>team id</th>
<th>badge id</th>
</tr>
</thead>
<tbody id="data">
<?php $no=1; while ($row = mysqli_fetch_array($sql)) { ?>
<tr>
<td align="center"><?php echo $no; ?></td>
<td><?php echo $row['team_name']; ?></td>
<td><?php echo $row['badgename']; ?></td>
</tr>
<?php $no++; } ?>
</tbody>
</table>
這是在php頁面內執行的,但我一直收到此錯誤:警告:mysqli_fetch_array()期望參數1為mysqli_result,
使用mysqli_query()或die(mysqli_error($ connection))來獲取錯誤並檢查查詢是否在mysql上成功運行
我認為你的錯誤在這里
<td><?php echo $row['teams.name']; ?></td>
<td><?php echo $row['badges.name']; ?></td>
如果您有正確的名稱列,請檢查。 如果那里有同名的桌子
teams (id, team_name)
badges (id, badgename, badgeimage, badgedescription)
teambadges (id, team_id, badge_id)
您必須這樣做:
<td><?php echo $row['team_name']; ?></td>
<td><?php echo $row['badgename']; ?></td>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.