2016-04-30 48 views
0

我目前需要创建一个自动填充表格,具体取决于数据库中有多少实体。带选定数据的循环表格

我目前有一个简单的select语句;

$articleID = $_GET['id']; 
    $stmt = $pdo->query('SELECT * FROM article WHERE articleID = "' . $articleID . '"'); 
    $result = $stmt->fetch(PDO::FETCH_ASSOC); 
    $stmt2 = $pdo->query('SELECT * FROM comments WHERE artID = "' . $articleID . '"'); 
    $result2 = $stmt2->fetch(PDO::FETCH_ASSOC); 

我试过使用表格,但只存储一块数据。

+0

我只需要循环第二条语句的结果 – ScaperExe

+0

你试过'while'循环吗? – RST

+0

'我试过使用Form'你怎么试过? –

回答

1

从您的SQL代码中,我收集articleId是文章表的主键,并且comments表中的artId是外键。

所以你的第一个查询应该只返回结果,因此fetch方法。 另一方面,第二个查询可能会返回很多行,但获取方法只返回第一个。要获得一组结果,您应该使用fetchAll方法并遍历结果数组以显示所有注释。

下面是一个带有两个结果集的代码,用于帮助您查看结构。 我也给了你一个简单的例子,说明如何循环第二个结果。

$articleID = $_GET['id']; 
$stmt = $pdo->query('SELECT * FROM article WHERE articleID = "' . $articleID . '"'); 
$result = $stmt->fetch(PDO::FETCH_ASSOC); 

$stmt2 = $pdo->query('SELECT * FROM comments WHERE artID = "' . $articleID . '"'); 
$result2 = $stmt2->fetchAll(PDO::FETCH_ASSOC); 

var_dump($result); 
var_dump($result2); 

foreach($result2 as $comment){ 
    echo '<p>'.$comment['text'].'<p>'; 
}