我正在开发一个android
应用,我想每次使用此查询获取5条记录。
SELECT *from contest_table WHERE created_by='$me' LIMIT 5;
现在我得到5条记录,但是当我点击" FETCH-MORE-RECORD"我想从数据库中获取更多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
希望这会有所帮助,这就是分页背后的逻辑。