xml+php动态载入与分页

5年以前  |  阅读数:483 次  |  编程语言:PHP 

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

-----------------xml.htm------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

xml
店铺列表
商铺名称 经营者 店铺级别 店铺简介
名称 经营人 级别 简介
每页显示 条,
    <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>  

-----------------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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例