有事没事来多放点。多放点就越来越专业。

结合smarty,获取$_GET传递过来的参数并进行重新索取和排列,以便传递给分页函数

上一篇 / 下一篇  2008-01-23 11:01:36 / 个人分类:smarty

[复制PHP代码]PHP代码如下:

/**
* 获取$_GET传递过来的参数并进行重新索取和排列,以便传递给分页函数
* smartyArgDiv('loadMain','admin_main_mem',array('page'=>'1','uid'=>'2','dd'=>3));
* retrun loadMain('admin_main_mem',page=1&uid=2&dd=3')
*
* @param string $func 传递给模版的JS函数
* @param string $tarPhp AJAX提交分页的目标页面(PHP处理页面)
* @param array $args是传递给PHP处理页面的参数
* @return string
*/
function smartyArgDiv($func,$tarPhp,$args){
$argDiv_str = "{$func}('{$tarPhp}','";
if(is_array($args)){
/*判断数组最后一个元素是否为空,如果为空就把数组弹出*/
while(end($args)==''){
  array_pop($args);
}
$arg = count($args);
foreach ($args as $key => $value){
  static $i=1;
  /*判断数组是否有空值元素,有就忽略*/
  if($value!=''){
  if($i==$arg){
  $argDiv_str .= $key."=".$value;
  }else{
  $argDiv_str .= $key."=".$value."&";
  }
  }
  $i++;
}
}
return $argDiv_str .= "')";
}



js程序片段:

[复制PHP代码]PHP代码如下:

//这里我通过arguments灵活的处理了别的页面提交过来的参数,以不变应万变,也就是说,可以对这个函数进行扩展,只需要对arguments进行判断就可以了
function loadMain(){
/*变换辅助容器的值*/
document.getElementById('helper').value = arguments[0];
if(arguments[0]=='admin_main_sys'){
document.getElementById('nv_left').style.display='none';
}else{
document.getElementById('nv_left').style.display='block';
document.getElementById('searchs').style.display='block';
}
var url = "../admin/"+arguments[0]+".php";
//判断是否有第二个参数
if(typeof(arguments[1])!='undefined'){
url += "?"+arguments[1];
}
ajax=createRequest();
ajax.onreadystatechange = loadAction;
ajax.open("GET",url,true);
ajax.send(null);
}



TPL模版片段:

[复制PHP代码]PHP代码如下:

<{foreach name=users key=ukey item=uid from=$uids}>
  <tr style="background-color:<{cycle values='#fff,#dee5ba'}>;font-weight:bold">
  <td><input type="checkbox" name="uids[]" value="<{$ukey}>"></td>
  <{foreach key=key name=user item=uid from=$uid}>
  <td class="<{if $key!=uid}>user_t<{/if}>">
    <{if $key==group}>
    <{if $uid==0}>
    普通会员
    <{else}>
    管理员
    <{/if}>
    <{else}>
    <{$uid}>
    <{/if}>
  </td>
  <{/foreach}>
  </tr>
<{/foreach}>



TAG: smarty

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

数据统计

  • 访问量: 48256
  • 日志数: 283
  • 图片数: 1
  • 建立时间: 2007-09-07
  • 更新时间: 2008-04-16

RSS订阅

Open Toolbar