你的位置:HBcms宏博内容管理系统 PHP技术 正文
PHP技术
  1. 专用主机
内容搜索
热门内容
  1. PHP官方网站,php官方..
  2. 建网站需要多少钱? 建..
  3. PHP ASP比较:PHP比AS..
  4. PHP6下载,php6介绍和..
  5. php程序员前途,mysql..
  6. 宏博cms和北京易体验合..
  7. SMTP判断邮箱是否存在..
  8. PHP生成静态页面详解
  9. 用PHP与XML进行网站编..
  10. 美国Hostmonster虚拟主..
推荐内容
  1. PHP官方网站,php官方..
  2. 把握商机:免费成为 H..
  3. 用PHP与XML进行网站编..
  4. [转]PHP突出开源优势要..
  5. 在线操作系统----TOMO..
  6. 用PHP实现验证码功能
  7. PHP生成静态页面详解
  8. 宏博cms和北京易体验合..
  9. Linux服务器php虚拟主..
  10. php程序员前途,mysql..
Smarty+PEAR::Pager+PEAR::HTML_table列表页分页实例
  •  添加时间:2007-04-30 发表时间:2007-04-30 人气:1560
  • Smarty+PEAR::Pager+PEAR::HTML_table列表页分页实例

    文章标题:
                  HBcms 的Smarty+PEAR::pager+PEAR::Html_table列表页分页实例

    文章目的:

                 下面的代码是从 HBcms 的分页程序里节选出来的,因为牵涉到太多的关联程序或类库,
                 为了让大家能看明白,这里只贴关键的程序片段,给个思路,
                 希望能对一些有需要,又有点迷惑的程序员起到引导作用。


    应用演示:
                 http://www.hbcms.com/cms/JianZhanJingYan/
                 http://www.hbcms.com/cms/help/
                 http://www.hbcms.com/hbcms/user/list_msg.php?mod=show_outbox


    文章版权:
                 本文章版权归宏博CMS www.hbcms.com 所有,转发请保留此版权说明


    应用范围:
                 所有需要 分页+个性化输出 的项目


    注意事项:
                PEAR,SMARTY 初学者会觉得很麻烦,耐心一点,一旦越过了初学阶段,会事半功倍


    关键代码:
    首先,从数据库读取分页所需要的数据($data_ary),这里用到的关键类库为 PEAR:PAGER

    PHP代码:

    $pagerOptions = array(
         
    'mode'    => 'Sliding'
    ,
         
    'delta'   => 4
    ,
         
    'perPage' => 20
    ,
      
    'firstPageText' => $CFG['lang']['index_page'
    ],
      
    'lastPageText' => $CFG['lang']['last_page'
    ],
      
    'nextImg' => $CFG['lang']['next_page'
    ],
      
    'prevImg' => $CFG['lang']['prev_page'
    ],
      
    'spacesBeforeSeparator' => 1
    ,
      
    'spacesAfterSeparator' => 1
    ,
      
    'extraVars' => array('type_id'=>$type_id,'order_by'=>$order_by,'keyword'=>$keyword, 'title_key'=>$title_key, 'body_key'=>$body_key, 'editor_mark'=>$editor_mark
    ),
      
    'httpMethod' => 'GET'
    ,
    );


    $data_ary getArticlePagerData($child_id_str$pagerOptions$search_key$order_by); 


    其次,将读取到的数据,组合成希望要显示的表格形式,这里用到的关键类库为 PEAR:HTML_TABLE

    PHP代码:

    require_once 'HTML/Table.php';
    $tableAttrs = array('width' => '590','align'=>'center'"cellpadding"=>5"cellspacing"=>0
    );
    $table = new HTML_Table($tableAttrs
    );
    $table->setAutoGrow(true
    );
    $table->setAutoFill(' '
    );
    for (
    $i 0$i count($data_ary['data']); $i
    ++) {
    $table->setHeaderContents($i+10, (string)($i+$data_ary['from'
    ]));
      .....
    }
    $DATA_ARY['body'] .= $form->toHtml
    (); 

    // 注意:此部分可以直接传递变量给smarty模板,这样灵活性更加强。 


    最后,用Smarty模板进行输出

    PHP代码:

    require_once("mySmarty.class.php");
    $tpl = new mySmarty($CFG$tpl_dir
    );
    // 设置模板变量
    $tpl->assign
    (
    array(
    "data_ary"   => $DATA_ARY
    ,
    "web"  => $CFG['web'
    ],
    )
    );
    echo 
    $tpl->myFetch('user_index.tpl.html'
    );

    // 注意:此处也可以将smarty模板的输出直接生成静态页,HBCMS的前台列表页就是掉用smarty生成的静态页 


  • 点这里复制本页地址发送给您QQ/MSN上的好友
  • 相关文章
  • 相关评论
  • 本文章所属分类:首页 PHP技术