smarty的用法之表单应用

平时我们在做应用系统的时候,通常要用到表单的下拉select,单选radio,复选checkbox,文本框

textarea,这些HTML的表单,来解决下拉(比如,保险:五金、三金、四金等),单选(比如,性别:

男,女)这样存储值的问题。但是对于经常要改变或则说做一个调查系统,单选的值有很多时候,用起来就

粘贴复制同样的表单,表单名字保持一致(比如:

应用性

适用<input type=”radio” name=”applications” size=”12″ value=”1″>

较好<input type=”radio” name=”applications” size=”12″ value=”2″>

很差<input type=”radio” name=”applications” size=”12″ value=”3″>

这样粘贴复制上面的radio,做起来是很快,但是页面效果很长,修改起来也很繁琐。当然这个是很传统的

做法,你也可以这么做,把所有的调查项目放在两个数据表中储存起来,一个表记录项目名称字段ups_id ups_p ups_name 第一个字段是自增,第二个字段是这个项目的ID值,比如:适用性,分别对应是 1 2 适用性
sk_ups 表 sk_res
ups_id ups_p ups_name res_id ups_p res_value res_name
1 2 适用性 1 2 1 适用
2 3 可见度 2 2 2 较好
3 2 3 很差
用上面两个表来存储你要用的调查选项,在用foreach($a as $k=>$v)的方式把他们循环列出来处理,这些经常改变的表单。

这里我要说的是一个PHP模板引擎smarty来处理这个,很好用的,而且页面只用到一句。

先在一个公用文件比如common.php中定义一个
$smarty->assign(‘applications’, array(
1 => ‘适用’,
2 => ‘较好’,
3 => ‘很差’)
)
相当与<select name=applications>
<option value=”1″>适用</option>
<option value=”2″>较好</option>
<option value=”3″>很差</option>
</select>

在smarty的模板中就更简洁了

{html_option name=applications option=$applications }

当然用这个之前你的会用smarty。



发表评论

电子邮件地址不会被公开。 必填项已用*标注

+ 50 = 53