Kết quả 1 đến 6 của 6
  1. #1
    CI New tieuvodanh's Avatar
    Ngày tham gia
    10-08-2015
    Bài viết
    4
    Cảm ơn
    0
    Được cảm ơn 0 trong 0 bài viết

    Cập nhật nhiều hình ảnh trong csdl trong CI

    Em đang gặp phải một vấn đề khi update nhiều hình ảnh trong csdl. Em insert nhiều hình ảnh vào csdl và lưu dưới dạng img1.jpg, img2.jpg, img3.jpg. Khi update nếu em không chọn hình ảnh mới thì field hình ảnh cũ trong csdl sẽ bị xóa hết và trở thành Null. Các field khác trong bảng vẫn update được bình thường. Phải làm sao để khi update nếu không chọn hình ảnh mới thì dữ liệu về hình ảnh trong csdl sẽ được mặc định vẫn giữ nguyên như cũ vậy.
    Em mới tìm hiểu về CI, mong được mọi người giúp đỡ. Cảm ơn rất nhiều.

  2. #2
    CI New tieuvodanh's Avatar
    Ngày tham gia
    10-08-2015
    Bài viết
    4
    Cảm ơn
    0
    Được cảm ơn 0 trong 0 bài viết
    Mọi người xem vào giúp em khắc phục lỗi này đi. Em đã search nhưng vẫn chưa tìm ra được câu trả lời. Mong mọi người giúp đỡ.

  3. #3
    Super Moderator tinhphaistc's Avatar
    Ngày tham gia
    01-03-2013
    Bài viết
    693
    Cảm ơn
    244
    Được cảm ơn 278 trong 210 bài viết
    vậy chúng ta cần đề cập vấn đề là update recode
    khi bạn update 1 recode thì bạn cần gì? có phải là id của recode đó.
    trươc khi update bạn query nó ra và sử dụng các dòng (row) hình ảnh để vào input image thì mọi thứ đâu có thây đổi đúng không bạn.
    THÔNG TIN HỖ TRỢ DIỄN ĐÀN CODEIGNITER VIỆT NAM
    Email: tinhphaistc@gmail.com

  4. #4
    Super Moderator maduong's Avatar
    Ngày tham gia
    30-03-2013
    Bài viết
    65
    Cảm ơn
    6
    Được cảm ơn 44 trong 28 bài viết
    Trước khi bạn update, thì bạn phải kiểm tra xem có upload ảnh mới lên không. Nếu có upload thì cập nhật ảnh mới, còn không thì thôi. Đây là 1 trong những cách để làm:
    PHP Code:
    $this->load->library('upload',$config);// $config: khai báo các thông số trước khi upload
    if(!$this->upload->do_upload('pimage')) 
    {
    /*
    * Nếu không có upload ảnh mới
    * pimage: là name của input upload hình
    */
    // Thực hiện việc update mà không cần update lại field hình ảnh trong CSDL
    ...
    }
    else
    {
    /*
    * Nếu có upload ảnh mới, thì update lại field hình ảnh trong CSDL
    */
    $data $this->upload->data();            
    $pimage $data['file_name']; // $pimage là tên file cần lưu vào CSDL
    ...

    cung cấp máy phát điện trên toàn quốc, ghe van phong, ban lam viec chất lượng

  5. #5
    CI New tieuvodanh's Avatar
    Ngày tham gia
    10-08-2015
    Bài viết
    4
    Cảm ơn
    0
    Được cảm ơn 0 trong 0 bài viết
    Trích dẫn Gửi bởi maduong Xem bài viết
    Trước khi bạn update, thì bạn phải kiểm tra xem có upload ảnh mới lên không. Nếu có upload thì cập nhật ảnh mới, còn không thì thôi. Đây là 1 trong những cách để làm:
    PHP Code:
    $this->load->library('upload',$config);// $config: khai báo các thông số trước khi upload
    if(!$this->upload->do_upload('pimage')) 
    {
    /*
    * Nếu không có upload ảnh mới
    * pimage: là name của input upload hình
    */
    // Thực hiện việc update mà không cần update lại field hình ảnh trong CSDL
    ...
    }
    else
    {
    /*
    * Nếu có upload ảnh mới, thì update lại field hình ảnh trong CSDL
    */
    $data $this->upload->data();            
    $pimage $data['file_name']; // $pimage là tên file cần lưu vào CSDL
    ...

    Cảm ơn anh, em đã giải quyết được vấn đề khi không trọn ảnh mới. Tuy nhiên khi update em chỉ có thể update được 1 hình ảnh mà thôi. Em không hiểu là vì sao, mong anh và mọi người giúp đỡ ạ. Đây là đoạn code của em:
    PHP Code:
    public function update_action(){        
            
    $id $this->input->post('id');

            
    $name_array = array();
            
    $count count($_FILES['userfile']['name']);
            foreach(
    $_FILES as $key=>$value)
            for(
    $s=0$s<= $count$s++) {
            
    $_FILES['userfile']['name']=$value['name'][$s];
            
    $_FILES['userfile']['type']    = $value['type'][$s];
            
    $_FILES['userfile']['tmp_name'] = $value['tmp_name'][$s];
            
    $_FILES['userfile']['error']       = $value['error'][$s];
            
    $_FILES['userfile']['size']    = $value['size'][$s];  
             
    $config['upload_path'] = './uploads/';
            
    $config['allowed_types'] = 'gif|jpg|png|jpeg|pjpeg||x-png';
            
    $config['max_size']    = '2000000';
            
    $config['max_width']  = '1024';
            
    $config['max_height']  = '768';
            
    $this->load->library('upload'$config);


            if(!
    $this->upload->do_upload('userfile')) 
            {
                 
    $data = array(
                    
    'name'=> $this->input->post('name'));
                    
    $this->load->model('mupload');
                
    $this->mupload->capnhat($id$data);
                 
    redirect('imgupload/index');
            }else{
                
    $name_array = array();
                
    $count count($_FILES['userfile']['size']);
                for(
    $s=0$s<=$count-1$s++) {
                
    $this->load->library('upload'$config);
                
    $data $this->upload->data();
                
    $name_array[] = $data['file_name'];
                
    $namesimplode(','$name_array);
                
    $this->load->database();
                     
    $data = array(
                        
    'name'=> $this->input->post('name'),
                        
    'img'=> $names);
                }
                
    // print_r($names);
                 
    $this->load->model('mupload');
                
    $this->mupload->capnhat($id$data);
                
    redirect('imgupload/index');
                }
            }
        } 
    Sửa lần cuối bởi tieuvodanh; 14-08-2015 lúc 12:54 PM.

  6. #6
    CI New tieuvodanh's Avatar
    Ngày tham gia
    10-08-2015
    Bài viết
    4
    Cảm ơn
    0
    Được cảm ơn 0 trong 0 bài viết
    Trích dẫn Gửi bởi tinhphaistc Xem bài viết
    vậy chúng ta cần đề cập vấn đề là update recode
    khi bạn update 1 recode thì bạn cần gì? có phải là id của recode đó.
    trươc khi update bạn query nó ra và sử dụng các dòng (row) hình ảnh để vào input image thì mọi thứ đâu có thây đổi đúng không bạn.
    Em cảm ơn vì ý kiến giúp đỡ ạ. Em sẽ nghiên cứu cách làm này.

Chia sẽ và Bình Luận chủ đề Cập nhật nhiều hình ảnh trong csdl trong CI trên facebook

Các từ khóa xuất hiện trên google của chủ đề

Chưa có từ khóa lên top google

Tag của Chủ đề này - Hãy Thêm Tags Để bài viết nhanh lên top google

Quyền viết bài

  • Bạn không thể đăng chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi đính kèm
  • Bạn không thể sửa bài
  •