从数据库中反复获取5条记录

时间:2016-03-13 09:26:31

标签: php android sql

我正在开发一个android应用,我想每次使用此查询获取5条记录。

SELECT *from contest_table WHERE created_by='$me' LIMIT 5;

现在我得到5条记录,但是当我点击" FETCH-MORE-RECORD"我想从数据库中获取更多5(下一条)记录。应用程序内的按钮

5 个答案:

答案 0 :(得分:1)

您可以使用OFFSET:

SELECT * from contest_table WHERE created_by='$me' LIMIT 5,5; 

这将从第6行(6-10)的位置返回5行。

第一个数字是声明获取的起始位置,第二个数字是声明要获取的数量。

这也可以这样写:

SELECT * from contest_table WHERE created_by='$me' LIMIT 5 OFFSET 5; 

答案 1 :(得分:1)

您必须提供限制开始和范围。它看起来如下:

SELECT *from contest_table WHERE created_by='$me' LIMIT 5, 5;

答案 2 :(得分:1)

  

获得前5条记录

SELECT * from contest_table WHERE created_by='$me' LIMIT 0,5;
  

获取下5条记录

SELECT * from contest_table WHERE created_by='$me' LIMIT 6,5;

同样明智的你可以改变起点,将它增加5点。

答案 3 :(得分:1)

所以这是解决方案。你需要保持关闭的轨道。所以delcare一个静态变量来存储关闭。每次点击后也会更新偏移量,以便下次得到正确的结果。

public static int offset=5;

然后将此查询与您的侦听器一起使用;

 SELECT * from contest_table WHERE created_by='$me' LIMIT 5,5; 

答案 4 :(得分:1)

这是一个简单的逻辑,我将其表示为PHP代码,您通过包含page 1从android请求第一页。在URL

http://SITENAME.COM/index.php?task=articles&page=1

您可以抓住来自此处的网址的结果

$page = $_GET['page'];
$max = 5; //As you want to retrieve 5 results only

此处定义$start从哪里开始检索值

$end = $page * $max;
$start = $end+1 - $max;

您的查询将类似

SELECT * FROM table order by column desc limit $start, $max //start will be 1 and max value to retrieve will be 5

之后您请求page 2,网址

http://SITENAME.COM/index.php?task=articles&page=2

并且在查询$start中将再次为6,并且要检索的最大值为5,即$max

希望这会有所帮助,这就是分页背后的逻辑。