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 相关文章推荐
Search Engine Friendly的URL设计
Oct 09 PHP
用定制的PHP应用程序来获取Web服务器的状态信息
Oct 09 PHP
PHP IPV6正则表达式验证代码
Feb 16 PHP
PHP 魔术函数使用说明
May 14 PHP
第五章 php数组操作
Dec 30 PHP
使用php显示搜索引擎来的关键词
Feb 13 PHP
PHPAnalysis中文分词类详解
Jun 13 PHP
php实现redis数据库指定库号迁移的方法
Jan 14 PHP
mysql_escape_string()函数用法分析
Apr 25 PHP
PHP实现支付宝即时到账功能
Dec 21 PHP
Yii2框架自定义验证规则操作示例
Feb 08 PHP
Laravel框架Eloquent ORM修改数据操作示例
Dec 03 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简单封装了一些常用JS操作
2007/02/25 PHP
PHP6 mysql连接方式说明
2009/02/09 PHP
PHP中foreach循环中使用引用要注意的地方
2011/01/02 PHP
php支持断点续传、分块下载的类
2016/05/02 PHP
既简单又安全的PHP验证码 附调用方法
2016/06/02 PHP
php 函数使用可变数量的参数方法
2017/05/02 PHP
PHP简单实现解析xml为数组的方法
2018/05/02 PHP
IE 下的只读 innerHTML
2009/08/21 Javascript
js判断FCKeditor内容是否为空的两种形式
2013/05/14 Javascript
jquery动态添加删除div 具体实现
2013/07/20 Javascript
JavaScript数据类型检测代码分享
2015/01/26 Javascript
js实现简易的单数字随机抽奖(0-9)
2020/03/19 Javascript
JS实现超简洁网页title标题跑动闪烁提示效果代码
2015/10/23 Javascript
15个非常实用的JavaScript代码片段
2016/12/18 Javascript
Bootstrap源码解读标签、徽章、缩略图和警示框(8)
2016/12/26 Javascript
Bootstrap下拉菜单更改为悬停(hover)触发的方法
2017/05/24 Javascript
Layui弹出层 加载 做编辑页面的方法
2019/09/16 Javascript
微信小程序实现锚点功能
2019/11/20 Javascript
python strip()函数 介绍
2013/05/24 Python
使用Python判断IP地址合法性的方法实例
2014/03/13 Python
python获取中文字符串长度的方法
2018/11/14 Python
Python中单线程、多线程和多进程的效率对比实验实例
2019/05/14 Python
Python统计文本词汇出现次数的实例代码
2020/02/27 Python
Django实现随机图形验证码的示例
2020/10/15 Python
罗技英国官方网站:Logitech UK
2020/11/03 全球购物
附答案的Java面试题
2012/11/19 面试题
毕业生就业自荐信
2013/12/04 职场文书
工厂保洁员岗位职责
2013/12/04 职场文书
行政总监岗位职责
2013/12/05 职场文书
土地转让协议书范本
2014/04/15 职场文书
求职自我评价范文
2015/03/09 职场文书
演讲比赛通讯稿
2015/07/18 职场文书
新娘父亲婚礼致辞
2015/07/27 职场文书
css布局巧妙技巧之css三角示例的运用
2022/03/16 HTML / CSS
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
2022/04/11 Python
利用Python实时获取steam特惠游戏数据
2022/06/25 Python