Home  >  Article  >  Backend Development  >  Dynamic loading and paging of php and xml

Dynamic loading and paging of php and xml

不言
不言Original
2018-06-13 11:17:001379browse

This article mainly introduces the dynamic loading and paging of php and xml. It has a certain reference value. Now I share it with you. Friends in need can refer to it.

This is watching the Pacific Network I saw in the comments that Pacific.com uses jsp as the backend language to generate xml files. Then bind the data to html. I also made one using php. The following is the source file.

-----------------xml.htm------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>xml</title>
</head>
<body>
<xml id="ShopList" src="xml.php"></xml>
<script>
  function jump(form)
  {
 if (form.pageNum.value>parseInt(pageCount.innerHTML)) return false;
 if (form.pageSize.value>parseInt(recordCount.innerHTML)) return false;
    ShopList.src="xml.php?pageNo="+form.pageNum.value+"&pageSize="+form.pageSize.value+"&time="+(new Date()).getTime();
  }
  function pageCount_onpropertychange(form)
  {
   if (form.pageNum.value>parseInt(pageCount.innerHTML)) form.pageNum.value=parseInt(pageCount.innerHTML);
 if (form.pageSize.value>parseInt(recordCount.innerHTML)) form.pageSize.value=parseInt(recordCount.innerHTML);
    if(form.pageNum.value==1)
    {
      form.firstPage.disabled=true;
      form.previousPage.disabled=true;
    }
    else
    {
      form.firstPage.disabled=false;
      form.previousPage.disabled=false;
    }
    if(form.pageNum.value==form.pageCount.value)
    {
      form.nextPage.disabled=true;
      form.lastPage.disabled=true;
    }
    else
    {
      form.nextPage.disabled=false;
      form.lastPage.disabled=false;
    }
  }
</script>
              <table width="100%" height="25" border="0" cellpadding="2" cellspacing="1" id="shopTbl" datasrc=#ShopList datafld=商铺>
    <thead>
                <tr>
                  <td height="25" colspan="4"><span class="shop_3d_text">店铺列表</span></td>
                </tr>
                <tr>
                  <td width="30%">商铺名称</td>
                  <td width="20%">经营者</td>
                  <td width="20%">店铺级别</td>
                  <td width="30%">店铺简介</td>
                </tr>
    </thead>
     <tbody>
     <tr STYLE="background-color:expression(rowIndex%2==1?&#39;#EFEFEF&#39;:&#39;#FFFFFF&#39;)">
    <td><a datafld="连接地址"><span datafld="名称">名称</span></a></td>  
    <td><span datafld="经营人">经营人</span></td>
    <td><span datafld="级别">级别</span></td>
    <td><span datafld="简介">简介</span></td>
     </tr>
     </tbody>
            </table>
   <form return onsubmit="jump(this);return false">
          <p align="right">
        每页显示
<input name=pageSize datasrc=#ShopList datafld=页大小 size=2>条,
  <input type=submit value="" style="width:0">
        共<span id="pageCount" datasrc=#ShopList datafld=页数量></span>页
        <span id="recordCount" datasrc=#ShopList datafld=数量 ></span>条

        <input name=firstPage type=submit value=首页 onclick="pageNum.value=1">
        <input name=previousPage type=submit value=上页 onclick="pageNum.value=pageNum.value-1">
        第<input name=pageNum datasrc=#ShopList datafld=页号码 size=2>页
        <input name=nextPage type=submit value=下页 onclick="pageNum.value=(pageNum.value-0)+1">
        <input name=lastPage type=submit value=尾页 onclick="pageNum.value=pageCount.value" >
        <input name=pageCount type=hidden datasrc=#ShopList datafld=页数量 onpropertychange="pageCount_onpropertychange(form)">
      </p> </form>
</body>
</html>

-----------------xml.php------------------

<?php
//require_once "Source/Global.php";
 function getVars($get_vars, $post_vars) {
  $i = count($get_vars);
  $j = count($post_vars);
  if ($i > 0 && $j > 0 ) {
   while(list($key, $val) = each($get_vars)) {
    $Vars[$key] = $val;
   }
   while(list($key2, $val2) = each($post_vars)) {
    $Vars[$key2] = $val2;
   }
  } elseif ($i > 0) {
   while(list($key, $val) = each($get_vars)) {
    $Vars[$key] = $val;
   }
  } elseif ($j > 0) {
   while(list($key2, $val2) = each($post_vars)) {
    $Vars[$key2] = $val2;
   }
  } else {
   $Vars = array();
  }
  return $Vars;
 }
$vars = getVars($HTTP_GET_VARS, $HTTP_POST_VARS);
//class shoplist_res extends iGlobal{
class shoplist_res{
    function shoplist_res($vars,$cookie){
     //$this->iGlobal($vars,$cookie);
        $this->outPut($vars,$cookie);
    }
 //function _shoplist_res(){
 // $this->db->Close();
 //}
    function outPut($vars,$cookie){
  /*$strQuery = "select count(*) as rc from ".$this->db_c->Db_Pre."pshop order by id desc";
  $this->db->Query($strQuery);
  $RecordCount = $this->db->Assoc();
  $RecordCount = $RecordCount[&#39;rc&#39;];
  @$this->db->freeResult();*/
  $RecordCount = 25;
  if (empty($vars[&#39;pageNo&#39;])) $vars[&#39;pageNo&#39;]= 1;
  if (empty($vars[&#39;pageSize&#39;])) $vars[&#39;pageSize&#39;]= 10;
  $PageCount = ceil($RecordCount/$vars[&#39;pageSize&#39;]);
  if ($vars[&#39;pageSize&#39;]>$RecordCount) $vars[&#39;pageSize&#39;]=$RecordCount;
  if ($vars[&#39;pageNo&#39;]>$PageCount) $vars[&#39;pageNo&#39;]=$PageCount;
  $xmlStr.= "<?xml version=\"1.0\" encoding=\"GBK\" ?>"."\n";
  $xmlStr.= "<商铺列表>"."\n";
  $xmlStr.= "\t<翻页工具 pageNo=\"".$vars[&#39;pageNo&#39;]."\" pageSize=\"".$vars[&#39;pageSize&#39;]."\" total=\"".$RecordCount."\"></翻页工具>"."\n";
  $xmlStr.= "\t<页号码>".$vars[&#39;pageNo&#39;]."</页号码>"."\n";
  $xmlStr.= "\t<页大小>".$vars[&#39;pageSize&#39;]."</页大小>"."\n";
  $xmlStr.= "\t<数量>".$RecordCount."</数量>"."\n";
  $xmlStr.= "\t<页数量>".$PageCount."</页数量>"."\n";
  //$strQuery = "select t1.*,t2.* from ".$this->db_c->Db_Pre."pshop as t1,".$this->db_c->Db_Pre."shoptype as t2 where t1.typenum=t2.typenum order by id desc "
  //   ."limit ".($vars[&#39;pageNo&#39;]-1)*$vars[&#39;pageSize&#39;].",".$vars[&#39;pageSize&#39;];
     //die($strQuery);
  //$this->db->Query($strQuery);
  /*while($result = $this->db->Assoc()){
   $xmlStr.= "\t"."\n";
   $xmlStr.= "\t<商铺>"."\n";
   $xmlStr.= "\t\t<名称><![CDATA[".$result[&#39;shopname&#39;]."]]></名称>"."\n";
   $xmlStr.= "\t\t<经营人><![CDATA[".$result[&#39;shopmaster&#39;]."]]></经营人>"."\n";
   $xmlStr.= "\t\t<级别><![CDATA[".$result[&#39;shoptype&#39;]."]]></级别>"."\n";
   $xmlStr.= "\t\t<简介><![CDATA[".$result[&#39;shopintro&#39;]."]]></简介>"."\n";
   $xmlStr.= "\t\t<连接地址><![CDATA[personal_shop.php?id=".$result[&#39;id&#39;]."]]></连接地址>"."\n";
   $xmlStr.= "\t</商铺>"."\n";
  }*/
  $sc= $vars[&#39;pageNo&#39;]*$vars[&#39;pageSize&#39;];
  if ($sc>$RecordCount) $sc = $RecordCount;
  for($i=($vars[&#39;pageNo&#39;]-1)*$vars[&#39;pageSize&#39;];$i<$sc;$i++){
   $xmlStr.= "\t"."\n";
   $xmlStr.= "\t<商铺>"."\n";
   $xmlStr.= "\t\t<名称><![CDATA[这是名称:".$i."]]></名称>"."\n";
   $xmlStr.= "\t\t<经营人><![CDATA[这是经营人:".$i."]]></经营人>"."\n";
   $xmlStr.= "\t\t<级别><![CDATA[这是级别:".$i."]]></级别>"."\n";
   $xmlStr.= "\t\t<简介><![CDATA[这是简介:".$i."]]></简介>"."\n";
   $xmlStr.= "\t\t<连接地址><![CDATA[personal_shop.php?id=".$i."]]></连接地址>"."\n";
   $xmlStr.= "\t</商铺>"."\n";
  }
  $xmlStr.= "</商铺列表>"."\n";
  header("Content-type: text/xml\n\n");
  echo $xmlStr;
    }
}
$shoplist = new shoplist_res($vars,$HTTP_COOKIE_VARS);
//$shoplist->_shoplist_res();
unset($sthoplist);
?>

The above php, the comments are the data I obtained by connecting to the database. Since I put it up for testing, there is no database connection, so I changed it. I have just started to understand xml, and I still don’t understand many things. Funny...

The above is the entire content of this article. I hope it will be helpful to everyone's study. For more related content, please pay attention to the PHP Chinese website!

Related recommendations:

Analysis on the method of using message queue queue and asynchronous queue in PHP's Laravel framework

The above is the detailed content of Dynamic loading and paging of php and xml. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn