これを再度投稿する代わりに、ここで書き直して詳しく説明することにしました。
jthemanから次のコードを受け取りました。これにより、DBから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();
繰り返しますが、これは完全に機能します。新しい問題は、1ページで52の更新を取得し、1ページあたり4を設定して、1つの長いページではなく13ページをスクロールできるようにしたいということです。
したがって、私がやりたいのは、52の更新が選択されるように(そして毎週金曜日に新しい更新が追加され、古い更新が削除されるように)このクエリを変更することですが、ページに一度に4つしか表示できません。これは基本的に2つの機能を実行するクエリを記述しているので、これはページ付けの問題ではないことに気付きました。
これはサブクエリで実行できますか?jQueryスライダーまたは同等のものを使用してページネーションを行うこともできますが、それは避けたいと思います。
どうもありがとう!