计算某些页面的视图

时间:2015-01-16 16:48:52

标签: php html mysql

我正在开发一个使用php,html和包含1000本书的自定义mvc框架的图书馆应用程序,我想在我的主页(以及其他各种页面)上显示3本最受欢迎的书籍。

我将创建一个模块以显示在各个页面上。

最好的方法是什么?我不确定如何收集这些信息。我不介意这些观点是独特的还是回访,而不是非常重要。

我的favourite表结构如下;

-------------------------------------------
id    title   category    author    isbn
1     book 1   art        joe       123123
2     book 2   art        jim       234234
3     book 3   science    james     456456
4     book 4   maths      sarah     653335
5     book 5   spanish    jim       34534
...
...
-------------------------------------------

我是否需要在我的sql表中创建另一列并在此处存储视图?视图是否存储在会话变量中?只是寻找一个简单的解决方案。

这里有很多新的php / sql所以任何建议和/或方向都值得赞赏。

2 个答案:

答案 0 :(得分:6)

您可以添加integer列(我们称之为views)。每次用户打开书页时,只需使用简单的update查询将该列增加一个。

然后,您可以使用以下查询检索查看次数最多的三本书:

select * from favourite order by views desc limit 3

答案 1 :(得分:0)

您还可以创建一个“views”表,其中包含datetime,book_id以及您要收集的有关客户端的任何其他数据。每次用户访问视图书页面时,都会向该表添加一个新行。然后你只需要一个像这样的查询:

select count(*) from views where book_id = ...