【发布时间】:2012-12-15 23:43:29
【问题描述】:
我决定在这里重新编写和详细说明,而不是再次发布。
我从 jtheman 收到了以下代码,它允许我从我的数据库中选择 52 个更新,并每周添加一个新的并删除旧的。它绝对完美。
他的代码:
$starttime = strtotime("28 December 2012"); // a recent Friday
$week = 7 * 24 * 60 * 60; // time value of a week
$posts = 185; // number of posts in your db
$limit = 52; // number of shown posts
$offset = floor((time()-$starttime)/$week); // rounds down difference in weeks from startdate until now
while ($offset>$posts-$limit) $offset = $offset - ($posts-$limit);
// this will start over when you have reached the end of the cycle ie offset 148...
我的查询:
// retrieve all update details
$conn = dbConnect('query');
$sql = "SELECT *
FROM updates
WHERE flag_live = 'Y'
ORDER BY update_id DESC
LIMIT ".$offset.",".$limit;
$result = $conn->query($sql) or die(mysqli_error());
$uInfo = $result->fetch_assoc();
同样,这非常有效。新问题是我在一页上获得 52 个更新,我希望能够设置,例如每页 4 个,并滚动浏览 13 页而不是一页长。
所以,我想要做的是更改此查询,以便选择 52 个更新(并且每周五添加一个新更新并删除一个旧更新),但我只能显示一次,例如 4 个在页面上。我意识到这不是一个分页问题,而是编写查询基本上执行两个功能。
这可以通过子查询来完成吗?我可以只使用 jQuery 滑块或等效项来进行分页,但我真的想避免这种情况。
非常感谢!
【问题讨论】:
-
呃...比如如何让它工作。如何获取上面的代码并提取 52 条记录,然后翻阅它们。
-
最好的方法是在客户端进行这些操作看看datatables.net
-
尽管我讨厌不得不使用jQuery,但这看起来确实很有希望。但是我不能让显示看起来像您引用的页面上的示例表。我有文字、照片和链接。
标签: php mysql database pagination