Vòng lặp trong upload file codeigniter

em đang làm phần hình ảnh cho sản phẩm, 1 sản phẩm có 1 or nhiều hình ảnh, em đã làm ra phần upload hình ảnh rồi, giờ em add đường dẫn vào csdl nhưng bị bí ae giúp em vs ạ.

$this->upload->initialize($config);
		if( ! $this->upload->do_upload('multipleFiles')){
			$error = array('error' => $this->upload->display_errors());
			
		}
		else{
			$data = array('upload_data' => $this->upload->data());					
			$this->db->insert('sanpham', array(
				'tensanpham' => $this->input->post('tensp')
			));
			$id = $this->db->insert_id(); //lấy id của sản phẩm
			$datahinh = array(	
				'masanpham' => $id, //thêm id sản phẩm vào data hinhanh
				'hinhanh' => $data['upload_data']['file_name']
			);
			$this->db->insert('hinhanh', $datahinh);

Em bị lỗi là ví dụ thêm sản phẩm mà upload 1 hình thì không sao, nó lấy id của sản phẩm mới tạo. còn upload mà nhiều hình thì nó tự động tạo ra số id sản phẩm tương ứng vs số hình upload. ai help con gà này vssss

	if($this->input->post('submit') && count($_FILES['multipleFiles']['name']) > 0){
		$number_of_files = count($_FILES['multipleFiles']['name']);
		$files = $_FILES;
		
		if(!is_dir('uploads')){
			mkdir('./uploads', 0777, true);
		}
		for($i=0; $i < $number_of_files; $i++){
			$_FILES['multipleFiles']['name'] = $files['multipleFiles']['name'][$i];
			$_FILES['multipleFiles']['type'] = $files['multipleFiles']['type'][$i];
			$_FILES['multipleFiles']['tmp_name'] = $files['multipleFiles']['tmp_name'][$i];
			$_FILES['multipleFiles']['error'] = $files['multipleFiles']['error'][$i];
			$_FILES['multipleFiles']['size'] = $files['multipleFiles']['size'][$i];
			
			$config['upload_path'] = './uploads/';
			$config['allowed_types'] = 'gif|jpg|png';
			$config['max_size'] = '0';
			$config['overwrite'] = TRUE;
			$config['remove_spaces'] = TRUE;
			
			$this->upload->initialize($config);
			if( ! $this->upload->do_upload('multipleFiles')){
				$error = array('error' => $this->upload->display_errors());
			
			}
			else{

code trên của em ạ

sản phẩm A -> hình ảnh 1, hình ảnh 2.
hình ảnh 1, hình ảnh 2 -> sản phẩm B.

1 table sản phẩm, 1 table images là giải quyết được chứ gì ?

1 Like

dạ đúng rồi em dùng 2 table mà 1 table sanpham, 1 table hinhanh. ý của em là đoạn code lỗi của em á, khi tạo 1 sản phẩm mà mình add 3 hình thì tự động nó tạo ra 3 sản phẩm luôn. Ý em là muốn tạo sản phẩm id ví dụ là 5, ấn add 5 hình thì 5 hình nó cũng nhận id là 5, chứ ko phải nó tự tạo tăng lên ạ

1/ Add sản phẩm với các thông tin của sản phẩm. Nó trả về cho e cái gì ?
2/ Trả về cái gì thì add cái đó vào bảng images cái cột 791/792/793 kìa là gì ?

1 Like

dạ

  1. nó trả về cái id của sản phẩm
  2. rồi cái id đó gán vào cột (791/792/793) mã sản phẩm nhưng mà em code sai, nó tự phát sinh ra sản phẩm để add vào bảng hình ảnh lun ạ

E đọc code từ trên xuống, đọc từng dòng xem nó chạy như thế nào, kể cả trong vòng lặp, nó lặp cái gì ? lặp xong nó lặp cái gì tiếp theo.

ko cần add nhiều vào csdl như thế, comment code vào, mở firebug lên, sau khi submit lưu được cái sản phẩm thì echo cái thằng id sản phẩm và images ra, xem nó chạy như thế nào.

cần thiết teamview ko ?

1 Like

tự nhiên em đọc cm xong em mới nhớ ra, trời em ơi cảm ơn anh quá có cái lỗi đặt ko đúng chổ thôi mà nãy h em đọc ko ra T_T cảm ơn anh rất rất nhiều

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?