我正在使用ajax根据视图将更多照片提取到画廊。画廊已经展示了10张照片。现在,我想根据观看次数从高到低依次获取下10张照片。

    $last_image_view_count = 232;

    "SELECT * from `gallery` ORDER BY CAST(`views`<'$last_image_view_count' AS SIGNED) DESC LIMIT 10";


上面的代码有效...但是顺序不正确(230-216-205等)。它分散但在232以下。我需要帮助弄清楚如何按从高到低的顺序获取它。

最佳答案

"SELECT * from `gallery` WHERE `views` < '$last_image_view_count' ORDER BY `views`  DESC LIMIT 10";


使用WHERE语句仅选择所需的数据集(据我了解,您想要的那些数据,其查看计数小于$last_image_view_count)。

然后可以通过views列对其进行排序。

无需将其强制转换为ORDER BY语句。您对代码执行的操作是按10对其进行排序(如果视图小于您的变量,则为1,否则为0)。

关于php - 想要按订单订购,但要物有所值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24445381/

10-12 13:43