我想只返回一次Title,然后返回具有正确n_id的所有用户的列表。
我有这样的表:
| N_ID | USER | TITLE |
|------|-------|--------|
| 1 | User1 | Title1 |
| 1 | User2 | Title1 |
| 1 | User3 | Title1 |
| 2 | User3 | Title5 |
到目前为止我的代码:
$sql = $this->conn->prepare("SELECT * FROM n_list WHERE n_id = :id");
$sql->bindparam(":id", $id);
$sql->execute();
while($rows = $sql->fetch(PDO::FETCH_ASSOC))
{
echo 'Title: '.$rows["title"].' <br></br>';
echo $rows["user"];
}
目前它给了我这个:
Title: Title1
User1
Title: Title1
User2
Title: Title1
User3
结果我需要这个:
Title: Title1
User1
User2
User3
如何在循环之前获取标题行? 我在那里添加另一个提取还是添加了另一个查询?
我是pdo的新手很抱歉,如果解决方案看起来很明显!
答案 0 :(得分:0)
发送标志以了解已打印的标题应该有效。
$sql = $this->conn->prepare("SELECT * FROM n_list WHERE n_id = :id");
$sql->bindparam(":id", $id);
$sql->execute();
$flagtitle = 0;
while($rows = $sql->fetch(PDO::FETCH_ASSOC))
{
if($flagtitle == 0){
echo 'Title: '.$rows["title"].' <br>';
$flagtitle = 1;
}
echo $rows["user"].'<br>';
}