【问题标题】:displaying results and hiding duplicates显示结果并隐藏重复项
【发布时间】:2025-12-17 21:10:01
【问题描述】:

我在 THIS PAGE

底部有一个分类列表

这段代码:

<?php

include_once('include/article.php');


$article = new article;
$articles = $article->fetch_all();

?>



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

 <div id="content">        
<a href="list.php?id=<?php echo $article['promo_cat']; ?>">
<li class="button"><ul class="pageitem">
<?php echo $article['promo_cat']; ?>
</li></ul></div>
          </a>

 <?php } ?>

将我的mysql表中promo_cat字段的值显示为列表:

如您所见。有 2 个“免费”字段。如何编辑此代码以使其不显示任何重复项?

我知道我需要使用 DISTINCT 功能,但我不确定如何使用。请帮忙。

谢谢。

如果您需要其他页面的更多 coe,请询问,我将编辑此帖子并添加。

【问题讨论】:

  • 这与您发布的另一个问题有关。您需要在 article.php 文件中的 fetch_all() 函数中进行过滤。
  • 向我们展示文章中的 fetch_all
  • @Orangepill 看看这个:*.com/questions/17751536/…
  • 嗨 Maximus2012。很抱歉这么快就发布另一个主题。是的,这是半相关的。最后一个是关于未显示的 list.php 页面。这是关于 index.php 页面上的初始列表。本来打算在那个帖子上问这个的,但它会变得非常混乱。
  • 在article类上创建一个get_categories方法,执行distint category查询并返回结果。

标签: php mysql content-management-system


【解决方案1】:
SELECT DISTINCT `promo_cat` FROM mobi WHERE `something`  = 'something'

更多关于DISTINCT的信息来自http://forums.mysql.com/

【讨论】:

  • 请在我的第二个帖子上发一个,这样一旦达到 15 个代表,我就可以为其他人做同样的事情。我发现你的代码非常有用。谢谢。
【解决方案2】:

供日后参考。

将上面的代码更改为:

<?php

include_once('include/article.php');


$category = new category;
$articles = $category->fetch_all();

?>



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

 <div id="content">        
<a href="list.php?id=<?php echo $article['promo_cat']; ?>">
<li class="button"><ul class="pageitem">
<?php echo $article['promo_cat']; ?>
</li></ul></div>
          </a>

 <?php } ?>

并在我的 /include/article.php 中添加一个新的 CLASS,内容如下:

class category {
public function fetch_all(){
    global $pdo;
      $query = $pdo->prepare("SELECT DISTINCT `promo_cat` FROM mobi");
      $query->execute();
return $query->fetchAll();
              }

public function fetch_data($promo_cat) {
   global $pdo;

 $query = $pdo->prepare("SELECT DISTINCT * FROM mobi WHERE `something`  = 'something'");
  $query->bindValue(1, $promo_cat);
   $query->execute();

return $query->fetch(); 

}

}

解决了我的问题。

谢谢。

【讨论】: