2011-04-07 114 views
0

编辑:确定让我更清楚我有一个HTML文件的名称file.html就是这个样子了一下:如何循环子类别与他们的类别?

{}类{ } sybcategory

和我有一个索引文件是像这个:

class template { var $ page;

function add_file($file){ 
    $this->page = file_get_contents($file); 
    return $this->page; 
} 

function vars($array) 
{ 
    foreach($array as $key => $value) 
    { 
     $this->page = str_replace('{'.$key.'}', $value, $this->page); 
    } 
    echo $this->page; 
} 

}

$模板=新的模板();

$ template-> add_file('file.html'); ('category'=> $ row_cat ['title'],'subcategory'=> $ row_subcat ['title']));}};}};}};}};

现在,这只输出标题和子类别一次我如何循环,我没有在这里添加mysql查询,因为我不想浪费你的更多时间,请如果你知道如何去做,然后让我知道。

+0

为什么要移除'while-loops'标签?它比'mysql'更有意义。 – 2011-04-07 20:02:49

+0

感谢您的更新 - 完全取决于您使用的模板系统? Smarty有什么机会? – 2011-04-09 20:36:49

+0

不,我做了一个模板引擎我的自我 – 2011-04-10 07:11:26

回答

0

在这里你去:

$cats = array(); 

while (mysql_fetch_assoc($mycategory)) 
{  
    $cats[$cat_title] = array(); 

    while (mysql_fetch_assoc($mysubcategory)) 
    { 
     $cats[$cat_title][] $subcat_title; 
    } 
} 

这会给你一个数组的数组。第一个数组包含类别标题作为关键字,它们将包含所有子类别标题的数组。

+0

嗯,是的,我只学习如何接受前一个问题的答案。无论如何,我认为你没有得到我想要问的东西,让我编辑它并正确解释。 – 2011-04-09 11:14:43

0

如何将所有内容都存储在那些内部?

while (mysql_fetch_assoc($mycategory)){ 

    $catsArray[] = $cat_title; 

    while (mysql_fetch_assoc($mysubcategory)){ 

    $catsArray[] = $subcat_title; 

    } 
} 

这样,你将有一个单一的数组与所有的猫,其次是他们的subcats。

希望它可以帮助一点:)

编辑:我想我误解你的问题,我的回答涵盖了如何就可以将它们,但你要问到底是一个模板引擎,如Smarty的,它不能在Stackoverflow中的“单个答案”中“汇总”,因此在使用类似{catArray}之前,您需要构建引擎。