Помогите написать функцию для смарти

P8
На сайте с 19.01.2008
Offline
10
321

Есть у меня функция для вывода данных в селект по умолчанию:


function selection()
{
$sql="select * from table order by id";
$res=db_select($sql);
while ($item = mysql_fetch_array($res))
{
$txt .= '<option value="'.$item['id'].'">'.$item['text'].'</option>';
}
return $txt;
}
$smarty->register_function("selection", "selection");

Вызываю ее в шаблоне так: {selection}

Теперь мне нужно выводить этот же селект, где известно выбранную запись(то что выбрал пользователь)

Пробовал так:


function selection($id)
{
$sql="select * from table order by id";
$res=db_select($sql);
while ($item = mysql_fetch_array($res))
{
if($id==$item['id'])
$txt .= '<option value="'.$item['id'].'" selected=\"selected\">'.$item['text'].'</option>';
else
$txt .= '<option value="'.$item['id'].'">'.$item['text'].'</option>';
}
return $txt;
}
$smarty->register_function("selection", "selection");

Вызываю ее в шаблоне так: {selection id=12}, но грузится селект как в первой функции. Без выбранного елемента..(((

Как сделать правильно?

Shtogrin
На сайте с 02.11.2006
Offline
95
#1

Параметры в функцию передаются в виде массива, т.е. проверять надо как-то так

if($id['id']==$item['id'])

www.shtogrin.com (http://www.shtogrin.com/). Канцтовары (http://www.invit.com.ua/). 1С Бухгалтерия (http://account.kiev.ua/).

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий