В smarty Я хотел бы отобразить имя поля db (имя столбца.) Возможно ли это? Я могу только получить ценность.Имя поля базы данных Smarty не значение
{foreach from=$test key=key item=item}
{$item.column_name}
{/foreach}
В smarty Я хотел бы отобразить имя поля db (имя столбца.) Возможно ли это? Я могу только получить ценность.Имя поля базы данных Smarty не значение
{foreach from=$test key=key item=item}
{$item.column_name}
{/foreach}
Использование вложенного массива.
{foreach from=$test key=key item=item}
{foreach from=$item key=k item=i}
{$k}: {$i} {* returns 'column_name: value' *}
{/foreach}
{/foreach}
Попробуйте это будет работать:
{section name=item loop=$test}
{$test[item].column_name}
{/section}
Smarty
просто язык шаблонов. Он не знает (и это неважно) о базах данных, именах полей и т. Д. Вы используете свой метод assign()
в код PHP
, чтобы сообщить ему о некоторых данных, используя имя, которое вы предоставляете. Подумайте о таких данных, как template variable
. Затем вы используете функции языка шаблонов для форматирования и отображения данных, заданных в переменных шаблона в коде PHP
. Это зависит от вас, какие данные вы передаете от кода к шаблону и как вы организуете эти данные.
Прочитайте абзац выше снова и снова, пока не найдете ответ на свой вопрос.
Ответ очень прост: если имена полей включены в структуру данных, которая была assign()
-ed до Smarty
, то у вас есть их в шаблоне для отображения.
Иногда они являются ключами массивов, которые вы показываете; в других случаях вы помещаете их в другую переменную; это зависит. Используйте print_r()
перед назначением переменной Smarty
, чтобы узнать о ее структуре и узнать, как ее использовать в шаблоне.
Пример:
PHP
Код:
$resultset = $db->query("SELECT id, username, email FROM users WHERE username = 'foo'");
$row = $resultset->fetchAssoc();
$smarty->assign('userInfo', $row);
// For debug purposes only; remove it after first use
print_r($row);
Выход print_r($row);
:
Array
(
[id] => 1001
[username] => 'foo'
[email] => '[email protected]'
)
Шаблон:
<ul>
{foreach from=userInfo key=field item=value}
<li><b>{$field}</b>: {$value}</li>
{/foreach}
</ul>
Выход в браузере (вид):
- ID: 1001
- имя пользователя: Foo
- электронной: [email protected]
Это было! благодаря – tdjfdjdj