【发布时间】:2018-07-25 15:19:34
【问题描述】:
我在 'user.ID'='email.ID' 上使用两个带有内部联接的表。
每个用户都有一个名字和一个 ID。每封电子邮件都有一个用户名、电子邮件地址本身和一个相应的用户 ID。 用户可以拥有任意数量的电子邮件地址。
通常我使用以下命令打印出我的查询结果:
$row["name"]
我像这样从数据库中选择数据:
SELECT user.name AS name, user.ID as ID, email.user AS user, email.address AS address
FROM user INNER JOIN email ON user.ID=email.ID
然后我显示一个表格并在一行中输出每个用户。
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
<table>
.
.
.
while($row = mysqli_fetch_assoc($result)) {
<tr>
<td>$row["ID"]</td>
<td>$row["Name"]</td>
<td>$row["Email"]</td>
</tr>
}
}
//this snippet is shortened simplified because I use all HTML in php echoes
当我尝试在相应的用户结果行中显示电子邮件地址时,我只是多次获取用户,每行都有不同的电子邮件地址。
我想要什么:
我得到了什么:
如何选择/加入/分组表和列以及如何正确输出它们? 谢谢你的帮助。我被困在这里好几天了。
编辑:
【问题讨论】:
-
您应该在应用程序中重新排列数据,而不是在数据库中。
-
如果我们可以看到您代码的相关部分,我们可能会建议修复
-
向我们展示您用于生成输出的代码。