gpt4 book ai didi

php - MySQL 按 DESC 排序结果记录中的差距。没有 Missing record w/sort ASC?

转载 作者:行者123 更新时间:2023-11-30 23:34:23 27 4
gpt4 key购买 nike

我将不发布我的大量代码块,而只是从我确定发布的内容开始。

我正在运行这个查询:

...
SELECT id, Title, images, recdate, 'item' AS type
FROM ads_list
WHERE to_days(now())<= (to_days(recdate)+14)
ORDER BY recdate DESC
LIMIT $offset, $listsperpage
...

这是一个分页脚本。我的 $offset 只是当前记录位置的计数,$listsperpage 设置为每页的任意数字(设置为 24)。所以每页应该有 24 个结果...

一切正常,除了当我在 DESC 中按 recdate 排序运行查询时,第一页的数组中仅输出了 23 条记录??

如果我使用 ASC 排序,有 24 条记录按预期显示在每个页面上。

我的 recdate 字段格式如下:

2012-01-14 07:10:33
2012-01-14 07:10:35
2012-01-14 07:10:38
2012-01-14 07:10:30 ...

我还尝试按 id(自动)进行 DESC 排序,但第一个结果数组仍然只包含 23 条记录,但总数组都是预期的记录。

我发现第一个结果中“丢失”的记录实际上是向前推的,所以它的结果好像只是与 DESC 的差距。并且该数组被完全向前推到最后一个结果页面。因此所有项目都移动了一个它出现的位置。

我不想发布我的整个代码块,因为它太多了,而且我花了几个小时测试和尝试我的代码的变体,所以我真的认为这与 SQL 排序有关。

我只是看不到我的 DESC 会导致这种异常,而 ASC 排序显示正常。

最佳答案

终于解决了这个噩梦!

我仍然无法解释为什么会这样,但至少我现在得到了完整的预期结果。

在我的 while 循环中,我检查了 $list["images"] != ""。我发现在 recdate 上使用 DESC 排序时,有一个空数组值,因此它的计算结果为 true 并从页面中“删除”该列表。所以我添加了 $list["images"] == "",现在显示该数组项的图像和数据。

关于php - MySQL 按 DESC 排序结果记录中的差距。没有 Missing record w/sort ASC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8867046/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com