pdo选择一次特定行

时间:2016-12-15 17:04:25

标签: php pdo

我想只返回一次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的新手很抱歉,如果解决方案看起来很明显!

1 个答案:

答案 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>';
}