Smarty 从控制器传递数据以查看和显示数据
Smarty passing data from controller to view and displaying data
我正在使用此功能从数据库中获取数据,该功能运行良好。
static function dohvatiSveOlijeku($id){
$baza = new Baza();
$upit = "SELECT * FROM lijek WHERE status = 1 and lijek.id = " . $id;
$rez = $baza->selectDB($upit);
if($rez->num_rows == 0){
return null;
}else{
$red = $rez->fetch_assoc();
return $red;
}
}
这是我的控制器,它使用参数 id 从模型中获取数据...
if (isset($_GET['id'])) {
$LijekSve = Lijek::dohvatiSveOlijeku($_GET['id']);
}
$Smarty->assign('lijek', $LijekSve);
$Smarty->display('view/lijek.tpl');
这是一个呈现给定数据的视图
{foreach from=$lijek item =lijekpodaci}
<div>
<p>{$lijekpodaci.cijena} kuna</p>
</div>
{/foreach}
对于 table 中的每一项,我都收到此错误
Illegal string offset 'cijena' in C:\xampp\htdocs\ljekarna\smarty\libs\sysplugins\smarty_internal_templatebase.php(171) : eval()'d code on line 69 1 kuna
我也试过了,还是一样的错误
{$lijekpodaci['cijena']}
为什么不尝试在循环之前使用条件语句检查 $lijek 数组是否为空?方法如下:
<?php
// INITIALIZE $LijekSve TO AN EMPTY ARRAY JUST IN CASE $_GET['id'] ISN'T SET
$LijekSve = array();
if (isset($_GET['id'])) {
$LijekSve = Lijek::dohvatiSveOlijeku($_GET['id']);
}
$Smarty->assign('lijek', $LijekSve);
$Smarty->display('view/lijek.tpl');
?>
模板
{if !empty($lijek) }
{foreach from=$lijek item =lijekpodaci}
<div>
<p>{$lijekpodaci.cijena} kuna</p>
</div>
{/foreach}
{/if}
我正在使用此功能从数据库中获取数据,该功能运行良好。
static function dohvatiSveOlijeku($id){
$baza = new Baza();
$upit = "SELECT * FROM lijek WHERE status = 1 and lijek.id = " . $id;
$rez = $baza->selectDB($upit);
if($rez->num_rows == 0){
return null;
}else{
$red = $rez->fetch_assoc();
return $red;
}
}
这是我的控制器,它使用参数 id 从模型中获取数据...
if (isset($_GET['id'])) {
$LijekSve = Lijek::dohvatiSveOlijeku($_GET['id']);
}
$Smarty->assign('lijek', $LijekSve);
$Smarty->display('view/lijek.tpl');
这是一个呈现给定数据的视图
{foreach from=$lijek item =lijekpodaci}
<div>
<p>{$lijekpodaci.cijena} kuna</p>
</div>
{/foreach}
对于 table 中的每一项,我都收到此错误
Illegal string offset 'cijena' in C:\xampp\htdocs\ljekarna\smarty\libs\sysplugins\smarty_internal_templatebase.php(171) : eval()'d code on line 69 1 kuna
我也试过了,还是一样的错误
{$lijekpodaci['cijena']}
为什么不尝试在循环之前使用条件语句检查 $lijek 数组是否为空?方法如下:
<?php
// INITIALIZE $LijekSve TO AN EMPTY ARRAY JUST IN CASE $_GET['id'] ISN'T SET
$LijekSve = array();
if (isset($_GET['id'])) {
$LijekSve = Lijek::dohvatiSveOlijeku($_GET['id']);
}
$Smarty->assign('lijek', $LijekSve);
$Smarty->display('view/lijek.tpl');
?>
模板
{if !empty($lijek) }
{foreach from=$lijek item =lijekpodaci}
<div>
<p>{$lijekpodaci.cijena} kuna</p>
</div>
{/foreach}
{/if}