我想创建20行表格数据来存储最近查看的页面。表格行不应增加到20行以上。

例如,带有标题的页面ID的前20行将存储在该表中。当用户查看第21页时,第一个帖子ID和帖子标题将被删除(即第一个查看的帖子),并在同一表格中插入(即最后一个查看的帖子)。

我的表格格式:

-------------------------------|
ID        |       Post Title
-------------------------------|
1        |       Post Title 1
2        |       Post Title 2
3        |       Post Title 3
...
20       |       Post Title 20
-------------------------------|


如果有人请告诉我如何使用优化的qry。

最佳答案

您有两列id和title。让我们考虑一下,id的值甚至会超过20。在任何时候,此表最多包含20行(根据您的需要)。

Understand following terms:
min(id)          // will give minimum value in column id
max(id)           // will give maximum value in column id
count(id)           // counts total number of rows of your table
new_id             // id of row which will be inserted next


算法:

if(count(id)<20)    // table have less than 20 rows so only insert
       new_id = max(id)+1
       insert the row with id as 'new_id' and page title
else       // table have more than 20 rows so delete and then insert
       delete row with id = min(id)
       new_id = max(id)+1
       insert the row with id as 'new_id' and page title


上面的解决方案建议的是,如果您仍然有少于20行要插入,因为仍有空间要插入。但是,当您看到行大于或等于20时,请首先删除ID最小的行,然后通过添加一个来插入ID最大的列的新行。

关于php - FIFO类型最近浏览的页面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42153525/

10-16 22:33