关于缓存S方法的使用

浏览:3047 发布日期:2015/02/17 分类:用法示例
一直不了解为什么用S方法,今天碰到一个地方,用上蛮好。
我有一个添加数据的地方有一个select选择,我经常添加的时候,每次要重新选择。
这里有三个select选择,我想记住上一次的选中项目,然后再下一次添加时候,就默认是上一次选择的项,就不用每次重新下拉框再选择。   public function poetryAdd(){
        if(IS_POST){
            $poetry_db = M('poetry');
            $data = I('post.info', array(), 'trim');
            if($poetry_db->where(array('title'=>$data['title']))->field('title')->find()){
                $this->error('作品名称已存在');
            }
            $id = $poetry_db->add($data);
            if($id){
                S('writerid',$data['writerid']);
                $this->success('添加成功');
            }else {
                $this->error('添加失败');
            }
上一次添加之后我把作者的id号记录下来放在S缓存里面,
我再下一次添加地方。     <tr>
            <td>作者:</td>
            <td>
                <select id="poetry_poetry_add_dialog_form_writer" name="info[writerid]" style="width:80px">
                    <foreach name="writerlist" item="writer">
                        <option value="<{$writer.writerid}>"<if condition="$writer.writerid eq S('writerid')"> selected="selected"</if>><{$writer.writername}></option>
                    </foreach>
                </select>
            </td>
            <td></td>
        </tr>
可以看出我取出S('writerid') 然后让他被选中 实现了。
这个S('')方法如果你清空了缓存就会消失,但是你添加过一次又会出现。

附件 QQ图片20150217145802.png ( 17.25 KB 下载:36 次 )

评论( 相关
后面还有条评论,点击查看>>