第一页 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);
}