首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

php 换页后,序号又重新开始的有关问题 + 急

2013-09-24 
php 换页后,序号又重新开始的问题 + 急急急 ??php$MYSQL-query(select cu.*,cy.name from customer cu,

php 换页后,序号又重新开始的问题 + 急急急 ?
<?php
$MYSQL->query("select cu.*,cy.name from customer cu,custtype cy where 1=1 and cu.code=cy.code limit 0,18");
for($i=1;$i<$count;$i++){
$MYSQL->fetch($i);
$customerid=$MYSQL->data[customerid];  // 客户编号
$KSName=$MYSQL->data[KSName];  //  用户名称 - 简称
echo "<td align='center'>$i</td>"; //序号
echo "<td align='center'>$customerid</td>";  // 客户编号
echo "<td align='center'>$KSName</td>"; //用户名称 - 简称
?>

我是每18 条记录换一页,在第一页序号是从 1 - 18 ,但是我切换到第2页时,序号又是从1 开始一直到第18,第3页同样如此,可能是因为我分页的缘故,我试 了,如果不分页时没有问题的,但是这里我不可能不分页的,求各位没有没好的方法解决这个问题。。



php php?换页后,序号的问题?
[解决办法]
设期望的页号由 $_GET['page'] 传入,则有

$offs = 18 * isset($_GET['page']) ? $_GET['page'] - 1 : 0;
$MYSQL->query("select cu.*,cy.name from customer cu,custtype cy where 1=1 and cu.code=cy.code limit $offs,18");
for($i=$offs+1;$i<$offs+$count;$i++){ 
$MYSQL->fetch($i);
$customerid=$MYSQL->data[customerid];  // 客户编号
$KSName=$MYSQL->data[KSName];  //  用户名称 - 简称
echo "<td align='center'>$i</td>"; //序号
echo "<td align='center'>$customerid</td>";  // 客户编号
echo "<td align='center'>$KSName</td>"; //用户名称 - 简称

[解决办法]
引用:
#14 ,兄弟,你没搞清楚,问题,就不要瞎说。。ok !!!!!!!!!!

你换页码的时候,应该是是要拿到url传入的$page值的,比如是$_GET['page'];
然后,你每分一页的时候,都是有一个$page_size的,你的$page_size=18;
所以,你在页面上显示的时候,那个列表的id号应该是:($page-1)*$page_size+$i;$i的值就是数组的下标。


$page=$_GET['page'];
$page_size=18;


$count=$MYSQL->query("select count(*) from customer cu,custtype cy where 1=1 and cu.code=cy.code");



$pages = ceil($count/$page_size);
if($page<1) $page = 1;
if($page>$pages)$page = $pages;
$offset = ($page-1) * $page_size;
if($offset<0) $offset = 0;

$MYSQL->query("select cu.*,cy.name from customer cu,custtype cy where 1=1 and cu.code=cy.code  limit ".$offset.",".$page_size);

for($i=1;$i<$count;$i++){
$MYSQL->fetch($i);
$customerid=$MYSQL->data['customerid'];  // 客户编号
$KSName=$MYSQL->data['KSName'];  //  用户名称 - 简称
$thisPage=($page-1).$page_size+$i;
echo "<td align='center'>".$thisPage."</td>"; //序号
echo "<td align='center'>$customerid</td>";  // 客户编号
echo "<td align='center'>$KSName</td>"; //用户名称 - 简称
}



我不知道$MYSQL这个对象的具体情况,所以,其他地方是一个思路,重点看

$thisPage=($page-1).$page_size+$i;

这句。
[解决办法]
更正一下,竟然不能编辑,应该是:$thisPage=($page-1)*$page_size+$i;

热点排行