用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1703|回复: 3
收起左侧

[讨论/交流] CI框架 从模型中怎样获取数据?

[复制链接]
发表于 2015-4-7 15:00:18 | 显示全部楼层 |阅读模式
下面模型中的插入代码,可以上传文件, 表名:picture     表里有3个字段:workid(ID)、path(图片保存路径)、markview视图中的名字,也就是下面那四个

view视图中上传文件的名字分别是:<input   name="
before_front_img" />
before_side_img、later_front_img、later_side_img   命名为这四个。

下面是模型中插入表里的代码:
public function add_work_pic($uid, $pic)  
    {
        $data = array();
        $row = array();
        if ($row = $this->db->where(array('uid' => $uid))->get($this->table)->row_array()) {
            #直接在图片表里添加
            $work_id = $row['id'];
        } else {
            #先添加work表,再添加图片表
            $this->db->insert($this->table, array('uid' => $uid));
            $work_id = $this->db->insert_id();
        }
        if ($pic['before_front_img']) {
            $this->db->delete('picture', array('mark' => 'before_front_img', 'workid' => $work_id));
            $data[0]['workid'] = $work_id;
            $data[0]['path'] = $pic['before_front_img'];
            $data[0]['mark'] = 'before_front_img';
        }
        if ($pic['before_side_img']) {
            $this->db->delete('picture', array('mark' => 'before_side_img', 'workid' => $work_id));
            $data[1]['workid'] = $work_id;
            $data[1]['path'] = $pic['before_side_img'];
            $data[1]['mark'] = 'before_side_img';
        }
        if ($pic['later_front_img']) {
            $this->db->delete('picture', array('mark' => 'later_front_img', 'workid' => $work_id));
            $data[2]['workid'] = $work_id;
            $data[2]['path'] = $pic['later_front_img'];
            $data[2]['mark'] = 'later_front_img';
        }
        if ($pic['later_side_img']) {
            $this->db->delete('picture', array('mark' => 'later_side_img', 'workid' => $work_id));
            $data[3]['workid'] = $work_id;
            $data[3]['path'] = $pic['later_side_img'];
            $data[3]['mark'] = 'later_side_img';
        }
        return $this->db->insert_batch('picture', $data);
    }

下面这两个方法是模型中的查询出数据的方法
   public function update_work($uid, $data)
    {
        return
                ($row = $this->db->where(array('uid' => $uid))->get($this->table)->row_array()) && $this->db->where(array('id' => $row['id']))->update($this->table, $data);
    }

    public function get_work($id)
    {
        return $this->db->where(array('id' => $id))->get($this->table)->row_array();
    }

我怎么得到这个
$data[3]['path'] 数组中的路径,调出让它显示出来, 控制器怎么写,视图里怎么写?大神来看看

发表于 2015-4-7 15:45:30 | 显示全部楼层
本帖最后由 Closer 于 2015-4-7 15:57 编辑

我這邊只說思路

利用 input file 上傳 (可利用 ajax & jq 即時監測刷新)
C 端 post 接值以陣列送進 M,利用 CI 圖像處理類(裁切)與上傳類,foreach 處理文檔
再傳入你貼的 M 做數據庫處理,返回圖像路徑後導入 V 端顯示
 楼主| 发表于 2015-4-7 16:16:40 | 显示全部楼层
Closer 发表于 2015-4-7 15:45
我這邊只說思路

利用 input file 上傳 (可利用 ajax & jq 即時監測刷新)

哎,我看不懂啊     能不能告诉我获取  $data[3]['path']  这个路径  控制器那边该怎么写

发表于 2015-4-7 16:26:45 | 显示全部楼层
bao7626452 发表于 2015-4-7 16:16
哎,我看不懂啊     能不能告诉我获取  $data[3]['path']  这个路径  控制器那边该怎么写

...

問題就在這
是要你自己扔參數給他的
add_work_pic($uid, $pic)

本版积分规则