仅显示前5个结果

时间:2013-09-12 06:55:42

标签: php mysql content-management-system views

抱歉,我在php上垃圾,但我愿意学习。

我正在创建我的网站here

我正在创建一个名为more的页面。

在此页面中,我想在我的网站上添加我的前5个促销活动的列表。每个促销都保存在mysql的mobi数据库中,每次有人在我的single.php页面上查看特定促销时,我都会添加一个计数。

所以基本上。我需要做的是在我的mobi数据库的“views”字段中显示5个最高编号的促销。

我目前有这些代码:

include_once('include/connection.php');
include_once('include/article.php');

<?php foreach ($articles as $article) { ?>

<a href="list.php?id=<?php echo $article['promo_title']; ?>"> <?php echo $article['promo_title']; ?> </a>

在more.php和

class views {
public function fetch_all(){
   global $pdo;

 $query = $pdo->prepare("SELECT * FROM mobi ORDER BY views DESC LIMIT 0, 5");
   $query->execute();

return $query->fetch(); 

}

}
article.php中的

只会加载一些奇怪的文字“t t t t h h w w d d d d 3 3”

我想我需要添加某种数组,但我不确定如何输入它。

请有人可以告诉我如何?

谢谢。

1 个答案:

答案 0 :(得分:2)

fetch()应更改为fetchAll()

 class views
 {
    public function fetch_all()
    {
      global $pdo;

      $query = $pdo->prepare("SELECT * FROM mobi ORDER BY views DESC LIMIT 0, 5");
      $query->execute();

      return $query->fetchAll(); 

    }
 }
还应添加

和foreach结束括号

<?php foreach ($articles as $article) { ?>

<a href="list.php?id=<?php echo $article['promo_title']; ?>">
<?php echo $article['promo_title']; ?> </a>
 <?php } ?>

并检查返回结果集的代码并将其发送到article.php