android:对请求获得的数据进行分页

第一页 0 =60x0,按id排序后第0个向后再索引60个,也就是返回0-60这中间的数据,
第二页 60=60x1,返回60-120这中间的数据
第三页 120=60x2,返回120-180这中间的数据
第四页 180=60x3,返回180-240这中间的数据

能理解么???

这个是请求例如对vodclass=恐怖类型,vodpage上面对应的[(60*(2-1)] = 60就是表示的是第二页

http://192.168.1.102:2020/typepage.php?vodclass=恐怖&vodpage=60

我写了一个php接口可以参考一下

<?php
header("content-Type: text/html; charset=utf-8");//字符编码设置
$servername = "localhost";
$username = "owldatabase";
$password = "ywl123456";
$dbname = "owldatabase";
 //http://192.168.1.102:2020/typepage.php?vodclass=恐怖&vodpage=60
 //分类
$vodclass = $_GET['vodclass'];
//分页
$vodpage = $_GET['vodpage'];

// 创建连接
$conn =new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
 
$sql = "
SELECT 
`vod_id`,`vod_name`,`vod_class`,`vod_author`,`vod_director`,`vod_blurb`,`vod_area`,`vod_lang`,`vod_year`,`vod_score`,FROM_UNIXTIME(`vod_time_add`) as `vod_add_time`,`vod_pic`,`vod_play_url`
FROM `mac_vod`
WHERE `vod_class` like '%$vodclass%'
and  `vod_status` = 1
 order by `vod_id` limit $vodpage,60
";
$result = $conn->query($sql);
 //SELECT * FROM `mac_vod`
$arr = array();
// 输出每行数据
while($row = $result-> fetch_assoc()) {
    $count=count($row);//不能在循环语句中,由于每次删除row数组长度都减小
    for($i=0;$i<$count;$i++){
        unset($row[$i]);//删除冗余数据
    }
    array_push($arr,$row);
 
}
//print_r($arr);
echo json_encode($arr,JSON_UNESCAPED_UNICODE);//json编码
$conn->close();
 
?>

安卓方面的代码应该不用多说吧~‘

就简单说一下,

1.获取这个类型有多少个数据,我打个比方,是1789个
2.1789/60=29.81667 也就是说有30
3.做一个页码的滑动导航,然后做个循环遍历1至30到这个导航里面
4.添加页码的点击事件,item有默认的点击,调用那个也可以,他是从0开始的,比如你点击了“第一页”,他就有可能是第0项,点击后重新请求数据就可以(记得刷新列表),比如点击的“第5页”,就当他是第4项,就这样请求
http://192.168.1.102:2020/typepage.php?vodclass=恐怖&vodpage=60*4
或者
你直接获取item上的阿拉伯数字,这样计算**(第5页-1)*60*这样返回的就是第5页了
http://192.168.1.102:2020/typepage.php?vodclass=恐怖&vodpage=60(5-1)

当然我只是案例

    private LayPage_C page;
    public void laylist(String count){
        //根据每页多少数据分出多少页
        int icount = Integer.parseInt(count);
        int pagecount = icount/60;
        //pagecount分出页数如30页
        //将页数循环遍历到subpage实体类
        //可以给message执行

        for(int pa=1;pa<=pagecount;pa++)
        {
            page = new LayPage_C();
            page.setPagename("第"+pa+"页");
            page.setPagecount(pa*60);//60为1页
            layPageCList.add(page);
            //Log.d("1111111111", "pagename" + pa+"页");

        }
        Message msg = new Message();
        msg.what = 9;
        handler.sendMessage(msg);//用activity中的handler发送消息

        //Log.d("1111111111", "pagecountpagecountpagecountpagecount=== " + pagecount);

    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wenlong Yang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值