我们可以使用表来回显两个不同查询调用的数据吗?

时间:2015-10-17 10:08:52

标签: php mysql pdo

我从表user_id中选择follow,然后调用与members匹配的其他表user_id中的数据,但是当我回显它时,它只显示一个成员user_id {1}}。所以我认为在表格中显示成员可能有所帮助,现在我的代码是这样的:

$following =$db->prepare("SELECT user_id FROM follow WHERE uid_fk=:userid order by user_id");
$following->execute(array(':userid'=>$userid));
$row = $following->fetch(PDO::FETCH_ASSOC);
$user_id = $row['user_id'];

$check =$db->prepare("SELECT * FROM members WHERE userid=:user_id");
$check->execute(array(':user_id'=>$user_id));
$row = $check->fetch(PDO::FETCH_ASSOC);
<table>
<tr>
<?php do { ?>
 <td>
  <div><p><?php echo $row['id']; ?></p></div>
  <div><p><?php echo $row['name']; ?></p></div>
  <div><p><?php echo $row['about']; ?></p></div>
  <div style="height:20px;"></div>
 </td>
<?php
$row = $following->fetch(PDO::FETCH_ASSOC);
if (!isset($nested_List)) {
$nested_List= 1;
}
if (isset($row) && is_array($row) && $nested_List++%2==0) {
echo "</tr><tr>";
}
} while ($row); 
?>
</table>

正如您所看到的,我的表仅适用于$following,因此现在它会在表格中显示所有成员$user_id但是如何向表格代码添加第二个查询,即$check以便我也可以回应有关表中成员的信息。我不想以任何其他方式将成员信息存储在关注表中吗?

1 个答案:

答案 0 :(得分:0)

实际上我省略了where属性,所以这就是我们如何从两个表调用数据并在表中显示结果。

$sql = "SELECT * FROM members INNER JOIN follow ON follow.user_id=members.userid where user_id=$userid ORDER BY userid "; $query = $db->prepare($sql);     
$query->execute(); 
$row = $query->fetch(PDO::FETCH_ASSOC); 
<table>
<tr>
<?php do { ?>
<td>
<div><p><?php echo $row['id']; ?></p></div>
<div><p><?php echo $row['name']; ?></p></div>
<div><p><?php echo $row['about']; ?></p></div>
<div style="height:20px;"></div>
</td>
<?php
$row = $following->fetch(PDO::FETCH_ASSOC);
if (!isset($nested_List)) {
$nested_List= 1;
}
if (isset($row) && is_array($row) && $nested_List++%2==0) {
echo "</tr><tr>";
}
} while ($row); 
?>
</table>