信息系统项目管理师_2024年软考学习应考交流_信息系统项目管理师考试

 找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 1797|回复: 20
打印 上一主题 下一主题

xml+php动态载入与分页

[复制链接]
  • TA的每日心情
    开心
    2016-1-18 12:18
  • 签到天数: 117 天

    [LV.6]常住居民II

    跳转到指定楼层
    楼主
    发表于 2009-8-21 01:26:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    这是在看太平洋网的评论时看到的,太平洋网是用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>
              <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=首页>
            <input name=previousPage type=submit value=上页>
            第<input name=pageNum datasrc=#ShopList datafld=页号码 size=2>页
            <input name=nextPage type=submit value=下页>
            <input name=lastPage type=submit value=尾页 >
            <input name=pageCount type=hidden datasrc=#ShopList datafld=页数量>
          </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" ?>"." ";
      $xmlStr.= "<商铺列表>"." ";
      $xmlStr.= " <翻页工具 pageNo="".$vars['pageNo']."" pageSize="".$vars['pageSize']."" total="".$RecordCount.""></翻页工具>"." ";
      $xmlStr.= " <页号码>".$vars['pageNo']."</页号码>"." ";
      $xmlStr.= " <页大小>".$vars['pageSize']."</页大小>"." ";
      $xmlStr.= " <数量>".$RecordCount."</数量>"." ";
      $xmlStr.= " <页数量>".$PageCount."</页数量>"." ";
      //$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.= " "." ";
       $xmlStr.= " <商铺>"." ";
       $xmlStr.= " <名称><![CDATA[".$result['shopname']."]]></名称>"." ";
       $xmlStr.= " <经营人><![CDATA[".$result['shopmaster']."]]></经营人>"." ";
       $xmlStr.= " <级别><![CDATA[".$result['shoptype']."]]></级别>"." ";
       $xmlStr.= " <简介><![CDATA[".$result['shopintro']."]]></简介>"." ";
       $xmlStr.= " <连接地址><![CDATA[personal_shop.php?id=".$result['id']."]]></连接地址>"." ";
       $xmlStr.= " </商铺>"." ";
      }*/
      $sc= $vars['pageNo']*$vars['pageSize'];
      if ($sc>$RecordCount) $sc = $RecordCount;
      for($i=($vars['pageNo']-1)*$vars['pageSize'];$i<$sc;$i++){
       $xmlStr.= " "." ";
       $xmlStr.= " <商铺>"." ";
       $xmlStr.= " <名称><![CDATA[这是名称:".$i."]]></名称>"." ";
       $xmlStr.= " <经营人><![CDATA[这是经营人:".$i."]]></经营人>"." ";
       $xmlStr.= " <级别><![CDATA[这是级别:".$i."]]></级别>"." ";
       $xmlStr.= " <简介><![CDATA[这是简介:".$i."]]></简介>"." ";
       $xmlStr.= " <连接地址><![CDATA[personal_shop.php?id=".$i."]]></连接地址>"." ";
       $xmlStr.= " </商铺>"." ";
      }
      $xmlStr.= "</商铺列表>"." ";
      header("Content-type: text/xml ");
      echo $xmlStr;
        }
    }
    $shoplist = new shoplist_res($vars,$HTTP_COOKIE_VARS);
    //$shoplist->_shoplist_res();
    unset($sthoplist);
    ?>

    以上的php,注释的是我连接数据库取得的数据,既然放上来测试,也没有数据库连接,所以改了一下.偶也是刚接解xml不久,很多地方还是不很懂.见笑了......
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏 转播转播 分享分享 顶 踩
  • TA的每日心情
    开心
    2013-2-22 11:24
  • 签到天数: 20 天

    [LV.4]偶尔看看III

    升级  0.01%

    沙发
    发表于 2011-7-3 08:50:37 | 只看该作者
    好困啊  
  • TA的每日心情
    开心
    2012-8-10 12:57
  • 签到天数: 42 天

    [LV.5]常住居民I

    藤椅
    发表于 2011-7-3 08:50:37 | 只看该作者
    支持~~顶顶~~~  
  • TA的每日心情
    开心
    2016-1-26 00:10
  • 签到天数: 52 天

    [LV.5]常住居民I

    升级  0.11%

    板凳
    发表于 2011-7-9 04:33:12 | 只看该作者
    初来乍到,请多多关照。。。  
  • TA的每日心情
    开心
    2016-1-25 08:52
  • 签到天数: 100 天

    [LV.6]常住居民II

    升级  0.04%

    报纸
    发表于 2011-7-9 04:33:12 | 只看该作者
    你加油吧  
  • TA的每日心情
    开心
    2015-8-14 08:20
  • 签到天数: 25 天

    [LV.4]偶尔看看III

    升级  0.04%

    地板
    发表于 2011-7-9 04:33:12 | 只看该作者
    真好。。。。。。。。。  
  • TA的每日心情
    开心
    2013-8-4 14:36
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    升级  0.04%

    7
    发表于 2011-7-10 12:47:05 | 只看该作者
    看看..  
  • TA的每日心情
    开心
    2016-1-28 08:54
  • 签到天数: 62 天

    [LV.6]常住居民II

    升级  0.03%

    8
    发表于 2011-7-10 12:47:05 | 只看该作者
    我的妈呀,爱死你了  
  • TA的每日心情
    擦汗
    2011-7-16 08:12
  • 签到天数: 1 天

    [LV.1]初来乍到

    升级  0.1%

    9
    发表于 2011-7-20 01:56:49 | 只看该作者
    支持你一下下。。  
  • TA的每日心情
    奋斗
    2016-1-24 10:17
  • 签到天数: 38 天

    [LV.5]常住居民I

    升级  0.11%

    10
    发表于 2011-7-20 01:56:49 | 只看该作者
    我帮你 喝喝  
    您需要登录后才可以回帖 登录 | 马上注册

    本版积分规则

    小黑屋|手机版|Archiver|信息系统项目管理师_软考交流平台. ( 鄂ICP备11002878号-1  公安备案号:42011102001150

    GMT+8, 2025-7-6 11:05

    Software by Discuz! X3.2

    © 2001-2013 SKIN BY DSVUE

    快速回复 返回顶部 返回列表