0

我有一个列表,其中注册用户和 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

如果在用户看到这些寄存器和其他记录后,此按钮让用户看到更多,则记录加倍 6. 是

10, 9, 8, 7, 6, 6, 5, 4, 3, 2, 1

有没有什么办法解决这一问题?

4

4 回答 4

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 让它变得更漂亮

于 2013-04-07T13:10:03.953 回答
1

是的,您不再使用相同的查询,但您使用从那里获取的最后一条记录的 id 作为起点。

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

顺序必须相同

于 2013-04-07T12:43:53.063 回答
0

尝试使用 SELECT DISTINCT 来获取个人名称

SELECT DISTINCT * FROM users ORDER BY id DESC LIMIT 0, 5
于 2013-04-07T12:42:57.603 回答
0

我不认为有这样做的“正确”方式。不过,此页面有一些很棒的提示:https ://coderwall.com/p/lkcaag

于 2013-04-07T12:43:21.387 回答