0

PHP で「前のエントリ」リンクを作成したいと考えています。これは、MySQL データベースから一定量の行を取得する単純なエントリ リストではありません。ここでの問題点は次のとおりです。行エントリは、リンクが呼び出されるたびに異なる場合があります。

実際に起こっていることは、私が日付を賢く見ているということです。最新の日付のエントリをフロント ページに表示しています。同じ日付の行が複数ある場合があります。すべてのエントリを同じページに表示する必要があります。ユーザーが前のエントリ リンクをクリックすると、次の最新の日付が取得され、その日付のエントリが取得されてページに表示されます。ユーザーが前のエントリ リンクを再度クリックすると、3 番目に新しい日付のエントリが表示されます。このように、継続する必要があります。Newer Entriesでも同じことをしたいです。

私はそれをどのように進めるかについての考えを得ていません。どんな助けでも大歓迎です。

私の言語は PHP で、データベースは MySQL です。

4

2 に答える 2

0

明確にするために編集されています/言語の壁の可能性があります。

現在選択されている日付が である場合は2013-03-28、最も近い以前の日付を見つける必要があります。これを行う方法はたくさんあります(効率の順で):

  • mysql のDATE_DIFFメソッドを使用して差で並べ替えると、最も近い日付のレコードを見つけるか、日付自体をクエリして、その日付のすべてのレコードに対して 2 番目のクエリを実行できます。
  • php を使用して、現在より前の日付をループし、その日のレコードを mysql に照会します (非効率的)
  • データベース内のすべての一意の日付をクエリして、それをどこかにキャッシュし、次に来る日付を検索します。

レコードの前の日付が であることがわかったら、その2012-11-01ような日付/タイムスタンプを持つすべてのレコードを簡単に照会できます。

于 2013-03-29T00:58:13.473 に答える
0

行を区別する方法として日付を使用する代わりに、自動 ID (IDENTITY 列) を使用します。このように、ID の重複はなく、1 を引くか 1 を足すだけで前/次のエントリを取得できます。

于 2013-03-29T00:50:17.013 に答える