我试图建立一个简单的模板系统,因为我不想使用Smarty或类似的东西。
我目前的问题是我无法通过while循环打印1个标签。它只打印第一个结果。
public $TplKey = array();
public function GetContent($file, $data) {
$template = file_get_contents($file);
foreach($data as $key => $value) {
$template = str_replace('{'.$key.'}', $value, $template);
}
return $template;
}
public function View($file) {
return $this->GetContent($file, $this->TplKey);
}
public function TplKeyAdd($key, $value) {
return $this->TplKey += array($key => $value);
}
public function testing() {
global $DBHandle;
$q = $DBHandle->mysqli->query("SELECT * FROM site_users");
while($qf = $q->fetch_array()) {
$r = $this->TplKeyAdd("var", $qf["user_name"]);
}
return $r;
}
然后,稍后在我的.TPL文件中,我呼叫{var}
。但它只显示第一个数据库行(如上所述)。我希望它显示它可以找到的每一行。我该如何解决这个问题?
答案 0 :(得分:0)
您的问题在于如何存储npm install --prefix <path/to/prefix_folder> -g
=&gt; key
方法中value
对。
我相信你的追随者:
TplKeyAdd
还有这个:
public function TplKeyAdd($key, $value) {
return $this->TplKey[] = array($key => $value);
}
每次添加的密钥称为“var”,因此数据库中的每个值都没有自己的密钥。
编辑:同样如ianinn所指出的那样,你不应该在你看的时候回来,因为它只会得到第一次迭代。