看看这个例子,用smarty处理options非常的简单。
//*.tpl
<select name="user_city">
{html_options options=$city_options selected=$city}
</select>//*.php
$city_options = array(
1  =>  '北京',
2  =>  '上海',
3  =>  '天津',
4  =>  '重庆',
32  =>  '成都',
33  =>  '广州',
34  =>  '深圳',
35  =>  '珠海',
36  =>  '东莞',
37  =>  '汕头',
38  =>  '贵阳',
39  =>  '宁波',
40  =>  '杭州',
41  =>  '黄岩',
42  =>  '义乌',
43  =>  '绍兴',
44  =>  '温州',
45  =>  '台州',
46  =>  '沈阳',
47  =>  '锦州',
48  =>  '大连',
49  =>  '南京',
50  =>  '苏州',
51  =>  '扬州',
52  =>  '徐州',
53  =>  '连云港',
54  =>  '无锡',
55  =>  '福州',
56  =>  '厦门',
57  =>  '泉州',
58  =>  '石狮',
59  =>  '石家庄',
60  =>  '郑州',
61  =>  '保定',
62  =>  '开封',
63  =>  '承德',
64  =>  '洛阳',
65  =>  '长春',
66  =>  '哈尔滨',
67  =>  '齐齐哈尔',
68  =>  '大庆',
69  =>  '济南',
70  =>  '青岛',
71  =>  '烟台',
72  =>  '威海',
73  =>  '合肥',
74  =>  '蚌埠',
75  =>  '柳州',
77  =>  '南宁',
79  =>  '海口',
81  =>  '三亚',
83  =>  '包头',
85  =>  '平遥',
87  =>  '兰州',
89  =>  '西宁',
91  =>  '十堰',
93  =>  '张家界',
97  =>  '南昌',
99  =>  '昆明',
101  =>  '大理',
103  =>  '拉萨',
76  =>  '北海',
78  =>  '桂林',
80  =>  '呼和浩特',
82  =>  '赤峰',
84  =>  '太原',
86  =>  '银川',
88  =>  '敦煌',
88  =>  '敦煌',
90 => '武汉',
92 => '襄樊',
94 => '长沙',
95 => '岳阳',
96 => '西安',
98 => '九江',
100 => '丽江',
102 => '乌鲁木齐',
104 => '湖州',
105 => '金华'
);
#城市设置
$tpl->assign( 'city_options',$city_options );
$tpl->assign( 'city', $_SESSION['arr_user_info']['user_city'] );
$tpl->display( '*.tpl' );
#$_SESSION['arr_user_info']['user_city']为你从数据库里面读出来的值,我这里已经赋给session的一个数组了,你可以改成你从数据库里面读出来的那个值

解决方案 »

  1.   

    你那样直接把<Option value="0">xx</Option>写在页面上肯定不好处理。如果不用模板的话,应该用循环来生成这个<option>列表,判断它的value == 你从数据库里面取出的值时,这样打印<option value="xx" selected="selected">xxx</option>
      

  2.   

    首先从数据库中读出 user_education(value)的值<Option value="0" if $user_education=0  selected;>保密</Option>