0

ユーザーが自分のページに動機付けの作品または写真を送信して、ホームページと後続のページ(つまり、domain.com / page / 2)に表示されるようにしようとしています。各ページには、それぞれ15個の作品が表示されます。 。

また、メインページの記事からのリンクから個々のページにアクセスし、自動的に生成されてそれぞれに追加されたユーザーがコメントできるように、指定されたすべての画像/部分から個別のページを作成できるようにしたいと思います。 15個。http://icanhas.cheezburger.com/に似ており、画像の個々のページがあります。

この結果を達成するには、どのような方法をとるべきですか?コメント付きのシンプルなテンプレートを使用して、ユーザーから送信された部分を適用して個々のページを作成することを検討しましたが、ホームページ(および後続のページ)の最新情報がどのように表示されるかはわかりません。これはphpです。とにかく正しいアイデアをテンプレート化しますか?

4

1 に答える 1

1

ファイルに関するデータを、挿入された日時の列とともにデータベースに保存します。これにより、先週/日/時間/分のデータなどを簡単に照会できます。

その点で、実際のファイルをデータベースに保存するのではなく、送信したユーザー、ID、タグなどのメタ情報のみをデータベースに保存してください。

次に、次のようなクエリを使用します(mysqlフォーマット):

select id, fileName from yourTable where dateColumn>date_sub(now(), interval 1 day)

これにより、DateColumnが24時間以内に更新された画像が返されます。

このデータを利用できるようになったら、1ビットのコードを使用してこれらのいずれかをユーザーに表示するスクリプトを作成できます。ページ付けを使用して結果を別のページに分割できます。または、をドロップdateColumn>date_sub()してDateTimeで並べ替えるだけで、1つのスクリプトで視聴者を最新の画像からデータベースの最終画像まで移動できます。

編集:結果をセットに分割するには、次のクエリを使用していると想定します。

select
    col1,
    col2
from
    yourTable
order by
    dateColumn desc;

クエリはテーブル全体を返しますが、最新の10レコードだけが必要な場合は、その中でlimit句を使用できます。

select
    col1,
    col2
from
    yourTable
order by
    dateColumn desc
limit 0,10;

limitの構文は(limit:[スキップする行数]、[返す行数])です。したがって、次のページで使用します。

limit 10,10

次に、次の10レコードなどが表示されます。

于 2012-09-13T07:05:56.150 に答える