我想创建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/