PHP模板系统输出

时间:2011-03-31 09:19:04

标签: php database

我在php中使用模板系统,所以我的代码就像那样......

$template->addVar ( 'thenameoftemplate', 'thenameofsubtemplate',"what to output");

此代码我在html文件中输出,如... {thenamefsubtemplate} ..

但我有一个问题,当我尝试从数据库中输出一些内容时,如上例所示,但是从数据库中,它不起作用,只有1行输出,但是当它在模板外回显时它有效..

我尝试使用foreach输出,同时从数据库中输出,然后将其输出到模板中,但它只显示一个结果。

如何解决这个问题,我不想排列所有结果并输出它们。

更新

Actualy我不知道什么是模板系统,一些脚本被给了我......在数据库输出之前一切正常..

这是我最后一次尝试使用for ..

if (check_group_access_bool('show_admin_panel_button')) {
            $template->addGlobalVar('admin','<BR><a href="/users/download_list/'. $user[0]['id'] .'.html">виж Ñмъкваните пеÑни</a><BR><img src="/images/icons/edit-user-32x32.png" hspace="2" alt="редактирай" align="absmiddle"><a href="/admin/edit_user/'. $user[0]['id'] .'.html">редактирай</a>');
}
            $sudtwo = $_SESSION['user']['id'];
$fvsmt = mysql_query("select * from fav where user_id=$sudtwo");
if(isset($_SESSION['user']['id'])){

while($rowings = mysql_fetch_array($fvsmt)) {
$template->addVar( 'userprofile', 'userprofiletwo',"<tr><th nowrap valign=\"TOP\" align=\"LEFT\">  ñòèë: ".$rowings['name']." <form method=\"post\"><input type=\"submit\" value=\"premahni ot liubimi\" name=\"del\"></form>></th></tr>");

if(isset($_POST['del']))
{
mysql_query("DELETE FROM fav WHERE name_id=".$rowings['name_id']."");



}
echo"".$rowings['name']."<br>";

}
}

这是在php中,这里是HTML

<template:tmpl name="userprofile">
{USERPROFILETWO}
</template:tmpl>

这是它输出的方式..

在php代码中,我的echo在哪里工作,但在html输出中只有一行。

1 个答案:

答案 0 :(得分:2)

编辑:好的,您正在使用名为patTemplate的内容,该内容未在几年内更新。我找到了一些documentation,一旦你正确设置了你的PHP,你的HTML应该可以工作:

<table> 
  <patTemplate:tmpl name="userprofile"> 
    {userprofiletwo}
  </patTemplate:tmpl>
</table>

但是,你的PHP有点混乱。你拥有的基本上是:

for () {
  $rowings = ...;
  //you are overwriting the variable each time here
  $template->addVar('userprofile', 'userprofiletwo', $rowings); 
}

我认为你想要的是:

$rowings = array();
for () {
  // make an array of your data
  $rowings[] = ...;
}
// and call addVar *once*
$template->addVar('userprofile', 'userprofiletwo', $rowings);

现在{userprofiletwo}是一个数组,您可以在模板中循环显示它。

另外,我不确定这段代码的目的是什么:

if(isset($_SESSION['user']['id'])){
}

因为它没有真正做任何事......