2012-02-15 69 views
1

我有一个数据库,而且取阵列看起来是这样的(如果我是创建阵列我自己)笨怎么不选择重复的ID

<?php 

    $array[] = array('id' => 1, 'message' => 'test'); 
    $array[] = array('id' => 1, 'message' => 'test'); 
    $array[] = array('id' => 2, 'message' => 'test'); 
    $array[] = array('id' => 5, 'message' => 'test'); 
    $array[] = array('id' => 1, 'message' => 'test'); 
    $array[] = array('id' => 8, 'message' => 'test'); 
    $array[] = array('id' => 5, 'message' => 'test'); 
    $array[] = array('id' => 1, 'message' => 'test'); 

?> 

正如你所看到的,有几个ID为1的数组,我想选择最后5个项目,但如果有重复项,我想跳过它,然后继续。有没有简单的解决方案呢?

+0

你可以显示数据库查询....也许需要组由/不同 – ManseUK 2012-02-15 13:18:30

+0

转到源,更改您的查询,并让它选择不同(如果可能)。否则,您需要循环浏览并删除不需要的内容 – JohnP 2012-02-15 13:19:02

回答

0

你应该使用这样的查询:

“SELECT DISTINCT ID,消息从your_table LIMIT 0,5”

1

您使用的是Active Record Class

如果是这行添加到您的查询,在你得到你的结果:

$this->db->distinct(); 

对于当前和未来的参考CI已经并称赞这是辉煌的文档! 它始终是值得考虑看看有太多: http://codeigniter.com/user_guide/database/active_record.html

如果不使用Active Record Class,上面做:)的建议。