Home > Article > Backend Development > xml+php dynamic loading and paging_PHP tutorial
这是在看太平洋网的评论时看到的,太平洋网是用jsp做为后台语言,用来产生xml文件.然后在把数据绑定到html上的.我就用php也做了一个以下是源文件.
-----------------xml.htm------------------
店铺列表 | |||
商铺名称 | 经营者 | 店铺级别 | 店铺简介 |
名称 | 经营人 | 级别 | 简介 |
-----------------xml.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.= ""."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.= "tt<名称>名称>"."n";
$xmlStr.= "tt<经营人>经营人>"."n";
$xmlStr.= "tt<级别>级别>"."n";
$xmlStr.= "tt<简介>简介>"."n";
$xmlStr.= "tt<连接地址>连接地址>"."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.= "tt<名称>名称>"."n";
$xmlStr.= "tt<经营人>经营人>"."n";
$xmlStr.= "tt<级别>级别>"."n";
$xmlStr.= "tt<简介>简介>"."n";
$xmlStr.= "tt<连接地址>连接地址>"."n";
$xmlStr.= "t商铺>"."n";
}
$xmlStr.= "商铺列表>"."n";
header("Content-type: text/xmlnn");
echo $xmlStr;
}
}
$shoplist = new shoplist_res($vars,$HTTP_COOKIE_VARS);
//$shoplist->_shoplist_res();
unset($sthoplist);
?>
以上的php,注释的是我连接数据库取得的数据,既然放上来测试,也没有数据库连接,所以改了一下.偶也是刚接解xml不久,很多地方还是不很懂.见笑了......