xml+php动态载入与分页


Posted in PHP onOctober 09, 2006

这是在看太平洋网的评论时看到的,太平洋网是用jsp做为后台语言,用来产生xml文件.然后在把数据绑定到html上的.我就用php也做了一个以下是源文件.

-----------------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?'#EFEFEF':'#FFFFFF')">
    <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">
          <div 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)">
      </div> </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['rc'];
  @$this->db->freeResult();*/
  $RecordCount = 25;
  if (empty($vars['pageNo'])) $vars['pageNo']= 1;
  if (empty($vars['pageSize'])) $vars['pageSize']= 10;
  $PageCount = ceil($RecordCount/$vars['pageSize']);
  if ($vars['pageSize']>$RecordCount) $vars['pageSize']=$RecordCount;
  if ($vars['pageNo']>$PageCount) $vars['pageNo']=$PageCount;
  $xmlStr.= "<?xml version=\"1.0\" encoding=\"GBK\" ?>"."\n";
  $xmlStr.= "<商铺列表>"."\n";
  $xmlStr.= "\t<翻页工具 pageNo=\"".$vars['pageNo']."\" pageSize=\"".$vars['pageSize']."\" total=\"".$RecordCount."\"></翻页工具>"."\n";
  $xmlStr.= "\t<页号码>".$vars['pageNo']."</页号码>"."\n";
  $xmlStr.= "\t<页大小>".$vars['pageSize']."</页大小>"."\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['pageNo']-1)*$vars['pageSize'].",".$vars['pageSize'];
     //die($strQuery);
  //$this->db->Query($strQuery);
  /*while($result = $this->db->Assoc()){
   $xmlStr.= "\t"."\n";
   $xmlStr.= "\t<商铺>"."\n";
   $xmlStr.= "\t\t<名称><![CDATA[".$result['shopname']."]]></名称>"."\n";
   $xmlStr.= "\t\t<经营人><![CDATA[".$result['shopmaster']."]]></经营人>"."\n";
   $xmlStr.= "\t\t<级别><![CDATA[".$result['shoptype']."]]></级别>"."\n";
   $xmlStr.= "\t\t<简介><![CDATA[".$result['shopintro']."]]></简介>"."\n";
   $xmlStr.= "\t\t<连接地址><![CDATA[personal_shop.php?id=".$result['id']."]]></连接地址>"."\n";
   $xmlStr.= "\t</商铺>"."\n";
  }*/
  $sc= $vars['pageNo']*$vars['pageSize'];
  if ($sc>$RecordCount) $sc = $RecordCount;
  for($i=($vars['pageNo']-1)*$vars['pageSize'];$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);
?>

以上的php,注释的是我连接数据库取得的数据,既然放上来测试,也没有数据库连接,所以改了一下.偶也是刚接解xml不久,很多地方还是不很懂.见笑了......

PHP 相关文章推荐
杏林同学录(三)
Oct 09 PHP
PHP 可阅读随机字符串代码
May 26 PHP
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
Aug 22 PHP
PHP使用数组实现队列
Feb 05 PHP
codeigniter教程之上传视频并使用ffmpeg转flv示例
Feb 13 PHP
php使用百度ping服务代码实例
Jun 19 PHP
浅谈php正则表达式中的非贪婪模式匹配的使用
Nov 25 PHP
php给每个段落添加空格的方法
Mar 20 PHP
yii2中结合gridview如何使用modal弹窗实例代码详解
Jun 12 PHP
PHP实现的mysql操作类【MySQL与MySQLi方式】
Oct 07 PHP
PHP手机短信验证码实现流程详解
May 17 PHP
在Laravel的Model层做数据缓存的实现
Sep 26 PHP
十天学会php之第七天
Oct 09 #PHP
十天学会php之第九天
Oct 09 #PHP
十天学会php之第十天
Oct 09 #PHP
十天学会php之第八天
Oct 09 #PHP
十天学会php之第五天
Oct 09 #PHP
十天学会php之第四天
Oct 09 #PHP
十天学会php之第三天
Oct 09 #PHP
You might like
PHP 获取远程文件内容的函数代码
2010/03/24 PHP
将时间以距今多久的形式表示,PHP,js双版本
2012/09/25 PHP
php数组索引的Key加引号和不加引号的区别
2014/08/19 PHP
php通过array_shift()函数移除数组第一个元素的方法
2015/03/18 PHP
PHP内核探索:哈希表碰撞攻击原理
2015/07/31 PHP
php表单加入Token防止重复提交的方法分析
2016/10/10 PHP
php加密之discuz内容经典加密方式实例详解
2017/02/04 PHP
阿里云的WindowsServer2016上部署php+apache
2018/07/17 PHP
PHP的PDO预定义常量讲解
2019/01/24 PHP
Jquery ajax不能解析json对象,报Invalid JSON错误的原因和解决方法
2010/03/27 Javascript
工作中常用到的JS表单验证代码(包括例子)
2010/11/11 Javascript
jQuery实现级联菜单效果(仿淘宝首页菜单动画)
2014/04/10 Javascript
jQuery往返城市和日期查询实例讲解
2015/10/09 Javascript
jQuery Mobile弹出窗、弹出层知识汇总
2016/01/05 Javascript
jQuery获取某天的农历日期并判断是否除夕或新年的方法
2016/03/01 Javascript
详解基于Bootstrap+angular的一个豆瓣电影app
2017/06/26 Javascript
浅谈vue中改elementUI默认样式引发的static与assets的区别
2018/02/03 Javascript
详解vue axios用post提交的数据格式
2018/08/07 Javascript
JavaScript实现的级联算法示例【省市二级联动功能】
2018/12/25 Javascript
javascript实现前端分页效果
2020/06/24 Javascript
Python入门篇之字符串
2014/10/17 Python
深入浅析python中的多进程、多线程、协程
2016/06/22 Python
python批量设置多个Excel文件页眉页脚的脚本
2018/03/14 Python
python保存网页图片到本地的方法
2018/07/24 Python
使用Filter过滤python中的日志输出的实现方法
2019/07/17 Python
Pandas-Cookbook 时间戳处理方式
2019/12/07 Python
django框架cookie和session用法实例详解
2019/12/10 Python
python PIL/cv2/base64相互转换实例
2020/01/09 Python
Python如何操作docker redis过程解析
2020/08/10 Python
世界上最大的高分辨率在线图片库:Alamy
2018/07/07 全球购物
意大利买卖二手奢侈品网站:LAMPOO
2020/06/03 全球购物
linux比较文件内容的命令是什么
2015/09/23 面试题
部队2015年终工作总结
2015/04/02 职场文书
全国助残日活动总结
2015/05/11 职场文书
创业分两种人:那么哪些适合创业?,哪些适合不适合创业呢?
2019/08/23 职场文书
微信小程序中使用vant框架的具体步骤
2022/02/18 Javascript