2012-02-14 91 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