从数据库里读取数据后存储在数组然后用带分页的列表显示出来(如何对数组分页显示)...

// 老的项目运行有点慢,公司为其新增了一台主机,将数据拷贝后写了一个带分页的列表来看看该主机的运行效率;从数据库读取数据存储到数组每个人都会,分页不是网上的累或者啥方法,公司之前的人写的,我拿来改了改,希望对大家有帮助。(重点是:如何对数组分页显示)  php最牛的地方就是他的数组结构能够完成复杂的多维的转换根据自己的需求

// 这个是效果链接   http://icp.sundns.com/testphp/testphp.php  (注:除分页链接可点,其他未做处理)

 <?php
// 为查询数据做准备***************start  下面代码没啥用的为下面查询数据服务端的,  你可以根据自己喜欢查数据然后放到数组里,
ini_set ( "include_path" , ".:../../../common:../../../include" ) ;
include_once ( "pageinit.inc.php" ) ;
include_once ( "PDC.CICPZtxx.class" ) ;

include_once( "PUC.Functions.inc" );
include_once( "LOG.CSecurityLog.class" );
include_once( "miibeian/RPC.CMiiBeianCall.class.php");


$pCICPBJCa = new CICPZtxx();

$strItemNavListBlockName = "item_nav_list";
$strItemNavItemBlockName = "item_nav_item";
$strListBlockName = "icp_list";
$strItemBlockName = "icp_item";
$strSortOrder = "id";
$nSortOrderDesc = 1;

if ( !isset( $start_item ) ) {
    $nStartItem = 0;
} else {
    $nStartItem = $start_item;
}

$module_name = "admin_bjcaicp_list";
$nItemPerPage = 20;


//$aLocator = array();
$aLocator = array(
    "sortorder_".$strSortOrder => $nSortOrderDesc
);

if( $_REQUEST["search_dwmc"] != "" ) {
    $aLocator["search_dwmc"] = trim($_REQUEST["search_dwmc"]);
    $nStartItem = 0;
}
if( $_REQUEST["search_zjhm"] != "" ) {
    $aLocator["search_zjhm"] = trim($_REQUEST["search_zjhm"]);
    $nStartItem = 0;
}

// 为查询数据做准备***************end
// 分页开始*********start************

$nTotalItem = $pCICPBJCa->getcount( $aLocator );   // 记录总数

//前一页
$nPrevItem = $nStartItem - $nItemPerPage;
if ( $nPrevItem < 0 ) {
    $nPrevItem = 0;
}

//下一页
$nNextItem = $nStartItem + $nItemPerPage;
if ( $nTotalItem <= $nNextItem ) {
    $nNextItem = $nStartItem;
}

$aDatas = $pCICPBJCa->getlist( $nStartItem, $nItemPerPage, $aLocator );   // // 数据数组


$nTotalPage = ceil( $nTotalItem / $nItemPerPage );
$nMaxPage = 10;
$nStartPage = ceil( $nStartItem / $nItemPerPage ) - $nMaxPage / 2;
if ( $nStartPage < 0 ) {
    $nStartPage = 0;
}

$nEndPage = min( $nStartPage + $nMaxPage, $nTotalPage );
$current_page=0;
$aItemNavVars = array();

for ( $i = $nStartPage; $i < $nEndPage; ++$i ) {
    $nPageNum = $i + 1;
    if ( $i * $nItemPerPage == $nStartItem ) {
        $strPageNum = "<font color=\"red\">".$nPageNum."</font>";
        $current_page = $nPageNum;
    } else {
        $strPageNum = $nPageNum;
    }
    $aItemNavVars[sizeof( $aItemNavVars )] = array(
        "start_item" => strval( $i * $nItemPerPage ),
        "page_num" => $strPageNum,
        "search" => "".$strSearch,
    );
}

$aPageVar = array_merge( $aLocator, array(
    "total_item" => $nTotalItem,
    "current_page" => $current_page,
    "prevpage_start_item" => $nPrevItem,
    "nextpage_start_item" => $nNextItem,
    "finalpage_start_item" => ($nTotalPage-1)*$nItemPerPage,
    "start_item" => strval( $nStartItem + 1 ),
    "start_item_bak" => strval( $nStartItem),
    "end_item" => $nEndItem,
    "prev_item" => $nPrevItem,
    "next_item" => $nNextItem,
    "sort_order" => "".$strSortOrder,
    "sort_order_desc" => "".$nSortOrderDesc,
    "searchblockstyle"=>$searchBlockStyle,
    "module_name"=>$module_name,
    "module_hint"=>$module_hint,
) );

if ( 0 < sizeof( $aDatas ) ) {
    $aPageVar[$strItemNavItemBlockName] = $aItemNavVars;
    $aVariables = array();
    for ( $i = 0; $i < sizeof( $aDatas ); $i++ ) {
        $operation="";
        $this_operation='<A href="admin.php?module=admin_bjcaicp_edit&ID='.$aDatas[$i]['id'].'">浏览</A>';
        $operation=$operation." ".$this_operation;
        if (EMPTY($viewmodule)) $viewmodule="admin_bjcaicp_list";
        
        $wzxxinfo =   $pCICPBJCa->getbyid( $aDatas[$i]['id'] );        // wzmc  syurl
        
        //echo "<pre>";
        //print_r($wzxxinfo[Wzxx]);
        
        $wzxxarr = $ymxxarr =  array();
        foreach($wzxxinfo[Wzxx] as $va){
            $wzxxarr[wzmc][$i] = $va[wzmc];
            $wzxxarr[syurl][$i] = $va[syurl];
        }
        // ym
        foreach($wzxxinfo[Wzxx] as $vat){
            foreach($vat[Ymxx] as $vall){
                $ymxxarr[ym][$i] = $vall[ym];
            }
        }
        
        //echo "<pre>";
        //print_r($ymxxarr);

        $aVariables[] = array(
            "id" => $aDatas[$i]['id'],
            "dwmc" => $aDatas[$i]['dwmc'],
            "zjhm" => $aDatas[$i]['zjhm'],
            "ztbah" => $aDatas[$i]['ztbah'],
            //"wzmc" => $aDatas[$i]['wzmc'],
            "wzmc" => implode("<br/>",$wzxxarr[wzmc]),
            "syurl" => implode("<br/>",$wzxxarr[syurl]),
            "ym" => implode("<br/>",$ymxxarr[ym]),
            "update_on" => $aDatas[$i]['update_on'],
            "opresult" => $aDatas[$i]['opresult'],
            "op" => $aDatas[$i]['op'],
            //"state" => $GLOBALS["map_state"][$aDatas[$i]['state']],
            "state" => $aDatas[$i]['state'],
            "operation"=>$operation,
            "viewmodule"=>$viewmodule,
        );    
    }
    
    //echo "<pre>";
    //print_r($aVariables);exit;
    
    $aPageVar[$strItemBlockName] = $aVariables;
    
} else {
    $aPageVar[$strListBlockName] = array();
    $aPageVar[$strItemNavListBlockName] = array();
}

$aPageVar["message"] = $strErrorMessage;

if(!isset($aPageVar["search_dwmc"])) {
    $aPageVar["search_dwmc"] = "";
}
if(!isset($aPageVar["search_zjhm"])) {
    $aPageVar["search_zjhm"] = "";
}

$pagelinks='';
$pagelinks='<A href="testphp.php?start_item=0'.'">首页</A> ';
$pagelinks=$pagelinks.'<A href="testphp.php?start_item='.$nPrevItem.'">上一页</A> ';

for ($i=0;$i<count($aPageVar[$strItemNavItemBlockName]);$i++){
    $nav = $aPageVar[$strItemNavItemBlockName][$i];
    $pagelinks=$pagelinks.'<A href="testphp.php?start_item='.$nav['start_item'].'">'.$nav['page_num'].'</A> ';
}

$pagelinks=$pagelinks.'<A href="testphp.php?start_item='.$nNextItem.'">下一页</A> ';
$pagelinks=$pagelinks.'<A href="testphp.php?start_item='.(($nTotalPage-1)*$nItemPerPage).'">尾页</A> ';

$aPageVar["page_links"] = $pagelinks;
$aPageVar["head_links"] = 'admin.php?module='.$module_name.'&search='.$strSearch.'&sort_order_desc='.(1 - $nSortOrderDesc).'&criteria='.$criteriasearch;


// // 分页结束*********end************

?>

<LINK href="primacommonstyle.css" type=text/css rel=stylesheet>
<TABLE class=listtable cellSpacing=0 border="1px" cellPadding=0 width="100%">
<FORM name=form_list action="" method=post>
<INPUT type=hidden value=$module_name$ name=module>
  <TBODY>
  <TR>
     <TD nowrap class=TitleTD><A class=brownface href="$head_links$&sort_order=id">编号</A>
        <SCRIPT>fn_DisplayOrderImg('id','$sort_order$','$sort_order_desc$')</SCRIPT>
    </TD>
    <TD nowrap class=TitleTD><A class=brownface href="$head_links$&sort_order=dwmc">主办单位名称</A>
        <SCRIPT>fn_DisplayOrderImg('dwmc','$sort_order$','$sort_order_desc$')</SCRIPT>
    </TD>
    <TD nowrap class=TitleTD><A class=brownface href="$head_links$&sort_order=ztbah">备案/许可证号</A>
        <SCRIPT>fn_DisplayOrderImg('ztbah','$sort_order$','$sort_order_desc$')</SCRIPT>
    </TD>
    <TD nowrap class=TitleTD>网站名称</TD>
    <TD nowrap class=TitleTD>首页网址</TD>
    <TD nowrap class=TitleTD>域名列表</TD>
    <TD nowrap class=TitleTD><A class=brownface href="$head_links$&sort_order=ztbah">备案阶段</A>
        <SCRIPT>fn_DisplayOrderImg('state','$sort_order$','$sort_order_desc$')</SCRIPT>
    </TD>
    <TD class=TitleTD align=middle width=65>
        <SELECT οnchange=this.form.submit() name=locate_op id="selected_op">
        <OPTION value="" selected>来源操作</OPTION>
        <OPTION value=1>新增备案</OPTION>
        <OPTION value=2>新增网站</OPTION>
        <OPTION value=3>新增接入</OPTION>
        <OPTION value=4>备案变更</OPTION>
        <OPTION value=6>注销主体</OPTION>
        <OPTION value=7>注销网站</OPTION>
        <OPTION value=5>注销接入</OPTION></SELECT> </TD>
        <SCRIPT> SelectOptionInit("selected_op","$locate_op$");</SCRIPT>
    <TD nowrap class=TitleTD align=middle width=50>操作</TD></TR>
<!-- icp_list/ -->
<!-- icp_item/ -->
<?php foreach($aPageVar[icp_item] as $key=>$val){ ?>
  <TR onMouseOver="this.style.backgroundColor ='#E1EAF5'" οnmοuseοut="this.style.backgroundColor ='#FFFFFF'">
    <TD class=ContentTD><a href="admin.php?module=$viewmodule$&IspZtid=$id$"><?php echo $val['id'] ?></a></TD>
    <TD class=ContentTD><a href="?module=admin_user&locate_id=$member_id$"><img border="0" align="absmiddle" src="images/zh-CN/mid_icon_member.gif" width="16" alt="用户信息"></a><?php echo $val['dwmc'] ?></TD>
    <TD class=ContentTD><?php echo $val['ztbah'] ?></TD>
    <TD class=ContentTD><?php echo $val['wzmc'] ?></TD>
    <TD class=ContentTD><div style="width:150px; overflow:hidden; text-overflow:ellipsis"><?php echo $val['syurl'] ?></div></TD>
    <TD class=ContentTD><div style="width:160px; overflow:hidden; text-overflow:ellipsis"><?php echo $val['ym'] ?></div></TD>
    <TD class=ContentTD align=middle><?php echo $val['state'] ?></TD>
    <TD class=ContentTD align=middle><?php echo $val['op'] ?></TD>
    <TD nowrap class=ContentTD align=middle><?php echo $val['operation'] ?></TD>
  </TR>
<?php } ?>  
<!-- /icp_item -->
<!-- /icp_list -->
</FORM>
  <TR>
    <TD colSpan=10>
      <TABLE cellSpacing=4 cellPadding=0 width="100%" border=0>
        <TBODY>
        <TR>
          <TD align=left>共 <?php echo $aPageVar['total_item'] ?> 条 当前显示第 <?php echo $aPageVar['current_page'] ?> 页</TD>
          <TD align=right> <?php echo $aPageVar["page_links"] ?></TD>
        </TR></TBODY></TABLE>
    </TD></TR>
</TBODY></TABLE>

// css样式可以不用写,以表格的形式展现就行

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值