2014-06-27 45 views
0

我想要做的是使用非常简单的模板引擎循环所有结果。 问题是,脚本执行相同的结果很多时候.. 现在有在数据库中3件测试作品(TEST_1,Test_2,Test_3), 所以基本上现在的结果是这样的:模板引擎的Mysql结果循环

Test_3测试本地主机

Test_3测试本地主机

Test_3测试本地主机

$result = $pDatabase->query($query) or die('Query failed: ' . mysql_error()); 
    while ($row = mysql_fetch_array($result)) { 
     //Loop Template (row) 
     $works_row = new Template("works_row.tpl"); 
      //Changing all from $row[] to {} 
      $rows[]=$row; 
      $works_row->set("category",$row['category']); 
      $works_row->set("name",$row['name']); 
      $works_row->set("link",$row['link']); 
    } 
    foreach ($rows as $row) { 
    $works_templates[] = $works_row; 
    } 
    $works_contents = Template::merge($works_templates); 
    mysql_free_result($result); 
    //Content part that calls all works 
    $works_list = new Template("works_block.tpl"); 
    $works_list->set("works_rows", $works_contents); 

我真的不明白为什么没有工作的权利

+0

你最有可能与覆盖'$ works_row->项目set'每个循环 – Darren

回答

1

试试这个,它的工作原理

$result = $pDatabase->query($query) or die('Query failed: ' . mysql_error()); 
    while ($row = mysql_fetch_array($result)) { 
     //Loop Template (row) 
     $works_row = new Template("works_row.tpl"); 
      //Changing all from $row[] to {} 
      $rows[]=$row; 
      $works_row->set("category",$row['category']); 
      $works_row->set("name",$row['name']); 
      $works_row->set("link",$row['link']); 
      $works_templates[] = $works_row; 
    } 

    $works_contents = Template::merge($works_templates); 
    mysql_free_result($result); 
    //Content part that calls all works 
    $works_list = new Template("works_block.tpl"); 
    $works_list->set("works_rows", $works_contents); 
+1

谢谢,它帮助,好像我根本不需要在foreach哈: d – EvilNabster