2013-04-07 80 views
0

我有一个列表,其中注册用户和5显示一个按钮,说var更多的用户。通过给该按钮显示另外5个用户。限制用户列表

我的查询:

SELECT * FROM users ORDER BY id DESC LIMIT 0, 5 

其中零为每个给予PIN看到更多的时间增加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

尝试使用SELECT DISTINCT得到的只是个人的名字

SELECT DISTINCT * FROM users ORDER BY id DESC LIMIT 0, 5 
+0

这不是关于在一个查询中显示多个时间的ID,而是两个不同的查询。 – mrks 2013-04-07 12:43:57

1

是的,您不再使用相同的查询,但是您使用最后一条记录的ID作为起点。

WHERE id < $lastid ORDER BY id DESC LIMIT 0, 5 

的顺序必须是相同的,虽然

+0

记录是排序器的日期,我不能使用下一个查询 WHERE id <$ lastid ORDER BY id DESC LIMIT 0,5 – 2013-04-07 13:45:32

+0

您的问题上面没有说明这一点。别弄错了。这是第一条规则。始终使用您的确切设置 - 否则您只会让事情变得更糟。 – mark 2013-04-07 14:22:30

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你可以让它成为一个很好的发烧友

+0

我使用ajax,并且我改变了限制值。我有其他问题,而我咨询列表用户和其他用户是注册,重复记录与限制。我需要解决这个问题。 – 2013-04-07 13:36:11

+0

我不确定你的意思,但即使你使用ajax,这个想法仍然是一样的。 。您可以重新加载整个列表,而不是仅添加新列表。 – 2013-04-07 16:13:40