|  | 
 
| 本帖最后由 80后奔三ing 于 2012-4-16 22:31 编辑 
 整个流程的想法是:用户在添加某字段内容时,首先到数据库验证该名称是否存在,如果存在就提示已存在,不存在就添加到数据库里面,我想不通过ajax的方法,之前用过set_rules里添加回调函数,以及form_validation->run()来做,但感觉这样有点麻烦。就想直接数据库判断了以后,向表单对应的字段的form_error传送错误信息。
 
 代码如下:
 一、视图页面代码:
 <?php echo form_open('admin/user/department_add');?>
 <p>
 <label for="parent_department">上级部门</label>
 <select name="parent_department" id="parent_department">
 <option value="0">顶级</option>
 <?php foreach ($department as $key=>$val){?>
 <option value="<?php echo $key;?>">$val</option>
 <?php }?>
 </select>
 </p>
 <p>
 <label for="department">部门名称</label>
 <?php echo form_input('department',set_value('department'));?>
 </p>
 <?php echo form_error('department');?>
 <p><?php echo form_submit('submit','添加部门');?></p>
 
 
 二、控制器页面代码:
 public function department_add()
 {
 $data['parent_id'] = $this->input->post('parent_department',TRUE);
 $data['name'] = $this->input->post('department',TRUE);
 if($this->User_Model->check_data_unique('name',$data['name'],'department'))
 {
 print_r($data);
 }else
 {
 //设置提示department字段名称已存在!
 }
 
 }
 
 三、模型页面代码:
 public function check_data_unique($field_name,$field_val,$table_name)
 {
 $sql = "select `{$field_name}` from `{$table_name}` where `{$field_name}` = `{$field_val}`";
 $query = $this->db->query($sql);
 $row = $query->row();
 return (empty($row->$field_name)) ? TRUE : FALSE;
 }
 
 
 | 
 |