`

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

 
阅读更多

// 老的项目运行有点慢,公司为其新增了一台主机,将数据拷贝后写了一个带分页的列表来看看该主机的运行效率;从数据库读取数据存储到数组每个人都会,分页不是网上的累或者啥方法,公司之前的人写的,我拿来改了改,希望对大家有帮助。(重点是:如何对数组分页显示)  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 onchange=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'" onmouseout="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样式可以不用写,以表格的形式展现就行

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    从数据库中读取数据并显示在RichTextBox

    ### 从数据库中读取数据并显示在RichTextBox #### 概述 本文将详细介绍如何在C#应用程序中实现从数据库读取数据,并将其显示在`RichTextBox`控件中的过程。这一技术常用于需要展示从数据库获取的信息的应用场景,如...

    读取二维数组所有数据_labview读取数组_

    例如,你可以使用“读取文本文件”VI从CSV文件加载数据,然后使用“转换为数组”功能将数据转换为二维数组。 3. **遍历数组**: LabVIEW中的“For Loop”(循环)是遍历数组的关键工具。你可以创建一个2D For Loop...

    delph,完成数组保存数据库,并读出数据库数据到数组,使用数据流方式。

    在Delphi编程环境中,数据库操作是一项常见的任务,而将数组保存到数据库以及从数据库中读取数据至数组,可以通过使用数据流(DataStream)的方式高效地实现。数据流提供了一种序列化对象的方法,使得对象的状态可以...

    Qt读取txt文件的内容,保存到数组,并将其显示出来

    Qt读取txt文件的内容,保存到数组,并将其显示出来,采用QtextStream读取文件,利用QVector建立数组,最后在QLineEdit上显示出来。QTextEdit显示方法同理。

    c程序将表格数据读取到二维数组

    "c 程序将表格数据读取到二维数组" 这个标题说明了我们需要使用 C 语言编程来读取 Excel 表格数据,并将其存储到二维数组中。 描述解释 "c 程序将 excel 表格数据读取到二维数组" 这个描述进一步解释了我们需要使用...

    c# 读取数据库。实现分页显示数据

    这里我们关注的是如何使用C#从数据库中读取数据并实现在dataGridView控件中的分页显示。这个过程涉及到多个知识点,包括数据库连接、查询语句、数据适配器、数据表以及分页逻辑。 首先,我们需要建立数据库连接。在...

    C#把excel表格中的数据读入到数组

    5. **读取数据到数组**:遍历数据集中的每一行和每一列,并将其值存储在一个二维字符串数组中。 #### 五、注意事项 1. **兼容性问题**:如果使用的Excel版本较新(如Excel 2007及以上),则需要使用不同的驱动程序...

    数组组合成数据库数据样式

    ### 描述解析:数组组合把新数组重新组合成像读取数据库读取出来的数组一样 描述部分进一步明确了文章的核心内容,即通过某种方法(在这里是指PHP脚本)将原始的、未经处理的数组转化为与从数据库中提取的数据类似...

    C++一维数组二维数组写入txt,从txt中读取数据存到一维数组二维数组

    本教程将重点讲解如何使用C++将一维和二维数组的数据写入文本文件(txt),以及如何从txt文件中读取数据并存储到一维和二维数组中。数组在C++中是基本的数据结构,而指针则为动态操作提供了便利。以下是一些关键知识...

    基于JDBC从数据库中读取数据,在百度地图批量标注地点例程

    基于JDBC从数据库中读取数据,在百度地图批量标注地点例程

    javascript读取json数组生成滚动分页

    在本场景中,我们将关注如何使用JavaScript从JSON数组中读取数据并生成滚动分页效果。滚动分页是一种用户滚动到页面底部时自动加载更多数据的技术,常见于社交网络和新闻网站。 首先,我们需要理解JSON(JavaScript...

    从数据库中读取数据并实现分页

    从数据库中读取数据并实现分页,以及上下翻页,还有计算出数据库的记录总数,

    读取文本数据到数组labview

    通过将文本txt格式或Excel格式的数据读取到labview的数组中

    图片二进制存入数据&从数据库中读取图片显示

    根据给定文件中的标题、描述、标签以及部分...以上就是从标题、描述、标签以及部分内容中提取出的关键知识点,涵盖了图片转换为二进制数据、存储到数据库、从数据库读取以及在ASP.NET中动态加载的基本概念和技术细节。

    易语言ACCESS数据库分页显示

    3. **分页逻辑**:为了实现分页,我们需要知道每一页显示多少条记录(通常称为“每页记录数”),并根据当前页码计算出应从数据集中读取的起始位置。例如,如果每页10条记录,第2页则应从第11条记录开始。 4. **...

    将数据从txt文件中读取并存到三维数组里面例程

    在这个例程中,我们将探讨如何从文本文件(如`test.txt`)中读取数据,并将其存储到三维数组中,这对于数据分析、数学建模或任何需要处理大量结构化数据的场景都非常有用。下面我们将详细讲解这个过程涉及的步骤和...

    图片存入数据库从数据库中读取图片.txt

    在IT领域,尤其是在软件开发与数据库管理中,处理多媒体数据如图片、音频和视频的存储与检索是一项常见的任务。从给定的代码片段来看,它主要涉及了将图片存储到数据库以及从数据库中读取图片的功能。下面,我们将...

    c语言实现把文件中数据读取并存到数组中

    // C++读取文本到数组.cpp : 定义控制台应用程序的入口点。 // #include stdafx.h int readfile1D() { char a[100]; int i; FILE *fp = fopen&#40;1.txt,r&#41;; if(fp == NULL) { printf(文件读取无效.\n); ...

    易语言-数组分页显示到超级列表框

    在易语言编程中,"数组分页显示到超级列表框"是一个常见的操作,尤其是在处理大量数据时,为了提高用户界面的响应速度和用户体验,我们通常会采用分页的方式来展示数据。超级列表框(Super List Box)是易语言提供的...

    js读取本地文件到字节数组

    ### JS读取本地文件到字节数组 在Web开发中,经常需要处理用户上传的文件,例如图片、文档等。这些文件可能来源于用户的本地计算机,并通过Web页面上传至服务器。为了实现这一功能,通常的做法是将文件内容转换为...

Global site tag (gtag.js) - Google Analytics