我有一个列表,其中的注册用户和5下面显示了一个按钮,上面写着var more users。通过给出这个按钮,你又可以看到另外5个用户。
我的问题是:
SELECT * FROM users ORDER BY id DESC LIMIT 0, 5其中,0表示每次给pin加5,请看更多。
问题是,如果有人注册,而另一个人看着列表,用户就会重复显示。
示例:如果我有10个按降序显示的用户,
10, 9, 8, 7, 6, 5, 4, 3, 2, 1如果在用户看到这些寄存器和其他记录时,该按钮会让用户看到更多,则会使记录翻倍
10, 9, 8, 7, 6, 6, 5, 4, 3, 2, 1有没有办法解决这个问题?
发布于 2013-04-07 20:43:53
是的,您不会再次使用相同的查询,但从那时起,您将使用获取的最后一条记录的id作为起点。
WHERE id < $lastid ORDER BY id DESC LIMIT 0, 5但是顺序需要是相同的
发布于 2013-04-07 21:10:04
如果您没有使用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可以让它变得更加华丽。
发布于 2013-04-07 20:42:58
尝试使用SELECT DISTINCT仅获取单个名称
SELECT DISTINCT * FROM users ORDER BY id DESC LIMIT 0, 5https://stackoverflow.com/questions/15862481
复制相似问题