2016-04-30 88 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>'; 
}