gpt4 book ai didi

php mysql查询连接两个表

转载 作者:太空宇宙 更新时间:2023-11-03 10:55:59 25 4
gpt4 key购买 nike

我今天花了很长时间查看 SO,但还没有找到我已经实现的答案,因为这是我第一次尝试连接表而不是创建低效的怪物,我想我会寻求帮助!

我有两个表:

  1. 用户数据(身份证、姓氏、电子邮件)
  2. appointmentData (id, uid, appointmentNum, appointmentDate)

第二张表的uid对应第一张表的id。

我想做的是显示一个表格:

姓氏 |电邮 |约会1 |约会1 日期 |约会2 |约会 2 日期等...

我试过:

mysql_query("SELECT * FROM userData as table1 INNER JOIN appointmentData as table2 ON table1.id = table2.uid ORDER BY table1.surname ASC");

但是如果我使用 while 循环,这将只显示该特定用户的第一次约会(我想当数据在数组中垂直显示时,我想在表中水平显示数据,如果这有意义的话):

while($row = mysql_fetch_array($result)) {
echo"<td>".$row['surname']."</td>";
echo"<td>".$row['email']."</td>";
echo"<td>".$row['apptDate']."</td>";
...
}

如果有人能帮我指明正确的方向,我将不胜感激!

最佳答案

你可以从:

开始
$prevId = '';
while($row = mysql_fetch_array($result)) {
if ($row['id'] != $prevId) {
if ($prevId != '') echo '</tr>'; // close previous row
echo '<tr><td>' . htmlspecialchars($row['surname']) . '</td>';
echo '<td>' . htmlspecialchars($row['email']) . '</td>';
$prevId = $row['id'];
}
echo '<td>' . $row['apptDate'] . '</td>';
}
if ($prevId != '') echo '</tr>'; // close last row

这会显示你需要的表格,但表格布局不会很正确(浏览器会正确显示,但实际的 html 代码不会正确)

要解决此问题 - 您需要计算显示的列数并添加适当数量的空 <td></td>收盘前</tr>

关于php mysql查询连接两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20712293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com