我有一个列表,其中注册用户和5显示下面的按钮,表示更多用户。通过给该按钮显示另外5个用户。
我的疑问:
SELECT * FROM users ORDER BY id DESC LIMIT 0, 5
每次为引脚提供0时,零加5,
问题在于,如果有人在另一个人查看列表时注册,则用户会重复显示。
示例:如果我有10个以降序显示的用户应该显示,
10, 9, 8, 7, 6, 5, 4, 3, 2, 1
如果用户在此按钮后看到这些寄存器和其他记录,则会让用户看到更多,将记录加倍6.是
10, 9, 8, 7, 6, 6, 5, 4, 3, 2, 1
有什么方法可以解决这个问题吗?
答案 0 :(得分:1)
是的,您不再使用相同的查询,但是您使用从那里获取的最后一条记录的ID作为起点。
WHERE id < $lastid ORDER BY id DESC LIMIT 0, 5
虽然订单需要相同
答案 1 :(得分:1)
如果您不使用ajax,则可以使用
<?php
if(!isset($_GET['num']))
$num = 5;
else
$num = $_GET['num'];
$res = mysql_query("SELECT * FROM users ORDER BY id DESC LIMIT 0, '".$num."' ");
while($arr = mysql_fetch_array($res))
{
//display data
}
?>
然后显示更多按钮
<a href="samepage.php?num=<?php echo $num+5;?>">
<button id="show_more">show more</button>
</a>
你可以使用ajax
让它变得更加漂亮答案 2 :(得分:0)
尝试使用SELECT DISTINCT来获取个人名称
SELECT DISTINCT * FROM users ORDER BY id DESC LIMIT 0, 5
答案 3 :(得分:0)
我认为没有“正确”的做法。不过,此页面提供了一些很棒的提示:https://coderwall.com/p/lkcaag