不明白标题的朋友们 看看这个部分
http://www.mp3aaa.com/web2/html/products.html
这是我之前给别人做的一个网站 左侧是 产品的类别, 右边是 产品列表 ,底下是翻页  整个这部分是静态页 
我用的是老土办法 函数嵌套加循环。 
我说说我的方法:我有一个分页类(自己写的 )function  最外层函数 A
{
    where(从数据库中取得产品所有分类)
    {
         把分类的ID号带入 函数B
    }
}
function  函数 B(分类的ID号)
{
    分页类->(根据分类ID号 从产品数据库中取出对应产品 ,参数二 每页记录数量)
    for($i=1;分页类->总页数;$i++) //这里的 $i就是页码  表示从第一页到最后一页的页码
    {
         结果集=分页类->(取得$i页的所有产品)
         函数C(结果集)
    } 

function 函数C(结果集)
{
       根据结果集的记录数开始替换标签 
       生成静态页
}这个方法是我目前每次做网站都用的一个办法 。  代码维护不方便 重用性差 。。 
不知道各位做这一块的时候用的什么方法啊?

解决方案 »

  1.   

    其实 函数 A 和 B,都是操作数据库,这样要查的次数多了a有十个,b有20
    则一个搜索 10次的B表了
    最好使用  联合查询只用一个 函数来查询数据,效率会高很多
      

  2.   

    说说我的想法。
    //首先准备几个函数。
    function getPathByCateID($id) {
       //通过类编号得到 相关的路径
    }
    function getPathByID($id) {
      //通过文件编号得到 相关的路径
    }//然后生成类别文件function makeList()
    {
       $cate_rows = get_cate_rows(); //得到类别列表数据foreach($cate_rows as $cate_key =>$cate_val){
       // 取每页数据的大小。
        $rows = get_rows(); //得到此类别下的所有产品列表数据。
       $dataPiece = get_rows_by_pagesize();  //按每页的大小,把所有的列表进行切分。
       foreach($dataPiece as $key=>$piece)
      {
           $destPath = getPathByCateID($id)  //得到目标路径
            //例如: product_24_1.html        $html = $this->load->view("cateListTpl",$piece); //通过模版得到html 文件.       write_file($destPath,$html);  //写入文件。
      }
    }}