2012-02-14 89 views
1

這是我的第一篇文章,所以我只是瞭解社區是如何工作的,所以我可以幫助也,以後...PHP PDO獲取和foreach - 我沒有得到第一列

我有一個index.phpdb.php用於測試PDO在一個非常小的和簡單的應用程序,第一個去的HTML和第二個數據庫連接。

的index.php

<h1><?php echo $fjoin_bookname; ?></h1> 
    <?php foreach($join as $j): ?> 
     <tr> 
      <td> 
       <?php echo 'Page: '. $j['pageNumber']; ?> 
      </td> 
      <td> 
       <?php echo $j['pageNote']; ?> 
      </td> 
     </tr> 
    <?php endforeach; ?> 

db.php中

//get books and pages Join 
    $query='SELECT * 
      FROM books 
       INNER JOIN pages 
       ON books.bookID = pages.bookID 
      ORDER BY pageNumber ASC'; 

    $join = $db->query($query); 
    $fjoin = $join->fetch(); 
    $fjoin_bookname = $fjoin['bookName']; 

這是一個應用程序,得到的頁碼從一本書相應的說明,這將有助於跟蹤在不同設備上的幾本書。

問題: 我沒有收到來自「頁」表的第一行。 這是工作的罰款,直到我插入取方法

$fjoin = $join->fetch(); 
$fjoin_bookname = $fjoin['bookName']; 

問題 會有人這麼好心幫我工作了這一點?

+0

請問如果添加'

'和'在你的foreach
'標記它的工作?換句話說......你確定它根本不是輸出,或者它只是不在你的HTML瀏覽器中呈現? – Farray 2012-02-14 16:40:45

+0

感謝您的答案,但它不是完整的HTML我只是顯示TR和TD,但是,他們是在一張桌子裏面。來自a.tereschenkov的回答是有效的! – Yuank 2012-02-14 17:53:59

回答

1

當你這樣做的

$join->fetch() 

通話從當前位置返回項目,將光標移動到下一個。 你可以取到VAR的所有元素,然後從第一個元素得到fjoin_bookname:

db.php中

//get books and pages Join 
$query='SELECT * 
     FROM books 
      INNER JOIN pages 
      ON books.bookID = pages.bookID 
     ORDER BY pageNumber ASC'; 

$statement = $db->query($query); 
$join = $statement->fetchAll(); 
$fjoin = $join[0]; 
$fjoin_bookname = $fjoin['bookName']; 
+0

太好了!它將會在下一個0位置工作,非常感謝! – Yuank 2012-02-14 17:53:37