在我的网站上显示最近提交的文章/图片

Display recently submitted articles / pictures on my site

本文关键字:文章 图片 提交 最近 我的 网站 显示      更新时间:2023-09-26

我正试图让用户向我的页面提交一篇励志文章或图片,以便在主页和后续页面(即domain.com/page/2)上显示,按最近的顺序排列,每页显示15篇。

我还希望能够从每个给定的图片/文章中创建一个单独的页面,这样用户就可以对它进行评论,从主页上文章的链接中访问单独的页面后,自动生成并附加到15个文章中的每一个。类似http://icanhas.cheezburger.com/以及用于图像的单独页面。

我应该采取什么样的方法来达到这个结果?我曾考虑过有一个简单的模板,带有注释,用户提交的文章将被应用于创建单独的页面,但我不确定主页(以及后续页面)上的最新内容,php模板是正确的想法吗?

将文件的数据与插入日期时间列一起存储在数据库中,这样可以方便地查询上周/天/小时/分钟等的数据。

注意,不要在数据库中存储实际的文件,只存储其中的元信息,如提交的用户、ID、标签等。

然后使用这样的查询(mysql格式):

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

它将返回DateColumn从现在起更新到24小时以内的任何图像。

有了这些可用的数据,您可以创建一个脚本,使用一位代码向用户显示其中的任何一个。您可以使用分页将结果拆分到不同的页面上,也可以删除dateColumn>date_sub()并简单地按DateTime排序,这样您的一个脚本就可以将查看器从最新的图像一直带到数据库中的最终图像。

编辑:要将结果拆分为一组,假设您使用的是以下查询:

select
    col1,
    col2
from
    yourTable
order by
    dateColumn desc;

查询将返回ENTIRE表,但如果您只想要最新的10条记录,可以在其中使用限制子句:

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

limit的语法为(limit:[要跳过的行数],[要返回的行数)。所以在下一页使用:

limit 10,10

然后带来接下来的10条记录,依此类推。