Php 如何使用联接运算符正确地从SQL表中回显结果?

Php 如何使用联接运算符正确地从SQL表中回显结果?,php,html,sql,join,echo,Php,Html,Sql,Join,Echo,我有两张桌子: 俱乐部 |---------------------|------------------| | id | name | |---------------------|------------------| | 1 | Arsenal | |---------------------|------------------|

我有两张桌子:

俱乐部

    |---------------------|------------------|
    |          id         |       name       |
    |---------------------|------------------|
    |           1         |      Arsenal     |
    |---------------------|------------------|
    |           2         |      Chelsea     |
    |---------------------|------------------|
    |           3         |      Fulham      |
    |---------------------|------------------|
    |           4         |      Leeds       |
    |---------------------|------------------|
    |---------------------|------------------|------------------|
    |          id         |       home       |        away      |
    |---------------------|------------------|------------------|
    |           1         |        1         |         3        |
    |---------------------|------------------|------------------|
    |           2         |        2         |         4        |
    |---------------------|------------------|------------------|
匹配

    |---------------------|------------------|
    |          id         |       name       |
    |---------------------|------------------|
    |           1         |      Arsenal     |
    |---------------------|------------------|
    |           2         |      Chelsea     |
    |---------------------|------------------|
    |           3         |      Fulham      |
    |---------------------|------------------|
    |           4         |      Leeds       |
    |---------------------|------------------|
    |---------------------|------------------|------------------|
    |          id         |       home       |        away      |
    |---------------------|------------------|------------------|
    |           1         |        1         |         3        |
    |---------------------|------------------|------------------|
    |           2         |        2         |         4        |
    |---------------------|------------------|------------------|
说明:比赛表中“主场”和“客场”列中的数字链接到de Clubs表中的id

现在我想(用php)回应以下内容:

|---------------------|------------------|
|          home       |       away       |
|---------------------|------------------|
|         Arsenal     |      Fulham      |
|---------------------|------------------|
|         Chelsea     |       Leeds      |
|---------------------|------------------|
<?php
$sql = "SELECT * FROM matches JOIN clubs ON matches.home AND matches.away = clubs.id"
$rs_result = $conn->query($sql);
?> 

<div style="overflow-x:auto">
<table>
<tr><th><strong>Home</strong></th><th><strong>Away</strong></th><tr>

<?php     
while($row = $rs_result->fetch_assoc()) {
?> 

<tr>
<td><a href="club.php?id=<?php echo $row['home'];?>"><? echo $row['home']; ?></a></td>
<td><a href="club.php?id=<?php echo $row['away'];?>"><? echo $row['away']; ?></a></td>
</tr>

<?php } ?>  
</table></div>
|---------------------|------------------|
|          home       |       away       |
|---------------------|------------------|
|           1         |         3        |
|---------------------|------------------|
|           2         |         4        |
|---------------------|------------------|
说明:单击团队名称时,我想打开包含团队信息的club.php页面

我尝试了以下方法:

|---------------------|------------------|
|          home       |       away       |
|---------------------|------------------|
|         Arsenal     |      Fulham      |
|---------------------|------------------|
|         Chelsea     |       Leeds      |
|---------------------|------------------|
<?php
$sql = "SELECT * FROM matches JOIN clubs ON matches.home AND matches.away = clubs.id"
$rs_result = $conn->query($sql);
?> 

<div style="overflow-x:auto">
<table>
<tr><th><strong>Home</strong></th><th><strong>Away</strong></th><tr>

<?php     
while($row = $rs_result->fetch_assoc()) {
?> 

<tr>
<td><a href="club.php?id=<?php echo $row['home'];?>"><? echo $row['home']; ?></a></td>
<td><a href="club.php?id=<?php echo $row['away'];?>"><? echo $row['away']; ?></a></td>
</tr>

<?php } ?>  
</table></div>
|---------------------|------------------|
|          home       |       away       |
|---------------------|------------------|
|           1         |         3        |
|---------------------|------------------|
|           2         |         4        |
|---------------------|------------------|
我的问题:如何在表中显示俱乐部名称,但在“a href”链接中传递俱乐部id? 我试过$row[1]等等,但它不起作用。我需要哪条SQL语句?参加内部连接?左会合


非常感谢

我认为这应该行得通——我对你的问题做了调整。 当您对查询的左侧(比赛)感兴趣并且不关心俱乐部是否已填充时,可以使用左连接。例如,如果你有一个1和5的家。我们知道1是阿森纳,但没有5人进入俱乐部。 左联接将显示它,内部联接将不显示它

<?php
$sql = "SELECT home,away,homeclub.name as homename,awayclub.name  as awayname FROM matches 
JOIN clubs as homeclub ON matches.home = homeclub.id
JOIN clubs as awayclub ON matches.away = awayclub.id"
$rs_result = $conn->query($sql);
?> 

<div style="overflow-x:auto">
<table>
<tr><th><strong>Home</strong></th><th><strong>Away</strong></th><tr>

<?php     
while($row = $rs_result->fetch_assoc()) {
?> 

<tr>
<td><a href="club.php?id=<?php echo $row['home'];?>"><? echo $row['homename']; ?></a></td>
<td><a href="club.php?id=<?php echo $row['away'];?>"><? echo $row['awayname']; ?></a></td>
</tr>

<?php } ?>  
</table>
</div>

主场客场

有这么多标签。。。您在php、html、sql或echo方面有问题吗?