dtnat80842 2016-11-22 06:43
浏览 17
已采纳

在PHP中排序重复[重复]

This question already has an answer here:

I have a website with a database over different phones. And to gather data from the database, I have this code

//echo "SELECT * FROM `product_info` DESC";die;
    $filter = $this->queries->custom("SELECT * FROM `product_info`GROUP BY 'model' ORDER BY  `model` ASC");

When I use this code now, it only shows one model, instead of all the different models.

Since i've added some of the models more than once i Would like to sort those out.

Like, i have fx added the iPhone 7 5 different times in my database and of course i wouldn't want the site to show it 5 times, therefore i would like to sort after models and only show each model one time. I've read about the array_unique, but didn't quite understand it.

</div>
  • 写回答

2条回答 默认 最新

  • dongwei4444 2016-11-22 07:36
    关注

    I guess I found the problem, it's a little typo. You used single quotes ( ' ) instead of backticks ( ` ) for your GROUP BY column. Single quotes are for string values. This means that your current query groups by the string "model" (and not by the column model), which is of course the same string for every record.

    So either use backticks:

    SELECT * FROM `product_info` GROUP BY `model` ORDER BY `model` ASC
    

    or omit the backticks at all because they are only necessary when your column is a reserved keyword:

    SELECT * FROM product_info GROUP BY model ORDER BY model ASC
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部