平时我们在做应用系统的时候,通常要用到表单的下拉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。