我试图让用户向我的页面提交激励作品或图片,以显示在主页和后续页面(即domain.com/page/2)上,按最近的顺序排列,每页显示每件15件。
我还希望能够从每个给定的图像/片段创建单独的页面,以便用户可以对其进行评论,从主页上的文章链接到单个页面,自动生成并附加每件15件。类似于http://icanhas.cheezburger.com/及其各个图片页面。
我应该采取什么样的方法来达到这个结果? 我已经看过有一个简单的模板,带有注释,用户提交的作品将被应用于创建单独的页面,但我不确定如何最新的主页(和后续页面),并且是一个PHP无论如何,模板正确的想法?
答案 0 :(得分:1)
将有关该文件的数据与日期时间列一起存储在数据库中,这样就可以轻松地查询上周/日/小时/分钟等数据。
在这方面,请不要将实际的文件存储在数据库中,只是存储它上面的元信息,例如提交的用户,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条记录,则可以在其中使用limit子句:
select
col1,
col2
from
yourTable
order by
dateColumn desc
limit 0,10;
限制的语法是(限制:[要跳过的行数],[要返回的行数])。所以在下一页上使用:
limit 10,10
然后带来接下来的10条记录,依此类推。