codeigniter Error undifined offset : 0

codeigniter php

✔ Forum ini sudah terjawab


foto oleh @4key
10 bulan yang lalu
halo om ane lagi belajar ci nih ceritanya, terus ane nemu error undifined offset mulu, padahal di project sebelumnya scriptnya work, berikut ini codingnya: Controller
public function ajax_add(){

			$this->_validate();

			$data = array(
					'wisata_name'=>$this->input->post('post_nama'),
					'wisata_description'=>$this->input->post('post_description'),
					'wisata_location'=>$this->input->post('post_alamat'),
					'provinces_id'=>$this->input->post('provinces'),
					'regencies_id'=>$this->input->post('regencies'),
					'wisata_status'=>$this->input->post('post_status'),
					'wisata_istrash'=> 1
				);

			
			if(!empty($_FILES['wisata_picture']['name']))
			{
				$upload = $this->_do_upload();
				$data['wisata_picture'] = $upload;
			}else if(empty($_FILES['wisata_picture']['name'])){

				$data['wisata_picture'] = 'no_image.png';
				
			}

			$get_wisata = $this->post->get_wisata_like($_POST['post_nama']);

			foreach($_POST['wisata_tags'] as $tags) {
				
				$this->post->insert_tags($get_wisata[0]->wisata_id,$tags);
			}

			$insert = $this->post->save($data);
			echo json_encode(array("status"=> TRUE));
		}
Model
public function insert_tags($wisata_id,$id_wisata_tags){

			$data = array(
					'id_wisata_tags'=>$id_wisata_tags,
					'wisata_id'=>$wisata_id,
					'tags_is_trash'=> 1
				);

			return $this->db->insert('tags',$data);
			
		}
yang udah ane oprek sih pada bagian ini salahnya $this->post->insert_tags($get_wisata[0]->wisata_id,$tags); get_wisata[0] itu gak kebaca, jadi ketika di save wisata_idnya null, nah bagaimana kira-kira cara mengatasinya. Thank
Jawaban
foto Gunali Rezqi Mauludi oleh @gunalirezqimauludi
10 bulan yang lalu
mau di model atau di controller di print_r();exit(); access di url nnt akan tampil ko apa yg di print_r nya, saya penasaran, saya cba berhasil ko,,.. coba di cari cari lagi hehe db https://s27.postimg.org/3ti0h1sib/Screen_Shot_2017_01_11_at_17_31_40.png controller https://s27.postimg.org/vkt4p58k3/Screen_Shot_2017_01_11_at_17_33_01.png model https://s27.postimg.org/q7zox9v9v/Screen_Shot_2017_01_11_at_17_32_54.png hasil return https://s27.postimg.org/qw8jg7tzn/Screen_Shot_2017_01_11_at_17_32_07.png
answered icon
foto Gunali Rezqi Mauludi oleh @gunalirezqimauludi
10 bulan yang lalu
coba lihat, script untuk pemanggilan function get_wisata_like ( '$get_wisata = $this->post->get_wisata_like($_POST['post_nama']);' ) ,atau coba print_r($get_wisata);exit(); , untuk melihat return nya sudah sesuai atau tidak..
foto oleh @4key
10 bulan yang lalu
print rnya pas dibagian controller mas? untuk melihat hasilnya
foto Gunali Rezqi Mauludi oleh @gunalirezqimauludi
10 bulan yang lalu
yup, dibagian controller, setelah, $get_wisata, jadi seperti ini, lalu cek outputnya muncul atau tidak.
$get_wisata = $this->post->get_wisata_like($_POST['post_nama']);
print_r($get_wisata);exit();
			foreach($_POST['wisata_tags'] as $tags) {
				
				$this->post->insert_tags($get_wisata[0]->wisata_id,$tags);
			}
foto oleh @4key
10 bulan yang lalu
gak muncul ternyata mas hasilnya, tapi kalo saya jalankan difungsi lain bisa, berarti memang gak kebaca pas difungsi ajax_add itu
foto Gunali Rezqi Mauludi oleh @gunalirezqimauludi
10 bulan yang lalu
hmmm,, aneh juga yah.. di jalankan difungsi lain hasilnya muncul, jika di fungsi ajax_add() gak muncul yah,.. seharusnya sih muncul mau disimpan difunction manaupun asalkan parameter post dimasukan sih oke
$get_wisata = $this->post->get_wisata_like($this->input->post('post_nama'));
boleh lampirin script get_wisata_like() nya ? ini get ke db melalui model yah? dengan where 'post_nama' untuk mendapatkan wisata_id ?
foto oleh @4key
10 bulan yang lalu
iya betul mas, ini script dari get_wisata_like
function get_wisata_like($wisata_name){

			$query = $this->db->query("select * from wisata where wisata_istrash='1' and wisata_name like '%".$wisata_name."%'");
			return  $query->result();
		}
foto oleh @4key
10 bulan yang lalu
kurang lebih ketika disave error yg saya dapat seperti ini sih mas
div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">

<h4>A PHP Error was encountered</h4>

<p>Severity: Notice</p>
<p>Message:  Undefined offset: 0</p>
<p>Filename: controllers/Wisata.php</p>
<p>Line Number: 115</p>


	<p>Backtrace:</p>
div id="container">
		<h1>A Database Error Occurred</h1>
		<p>Error Number: 1048</p><p>Column 'wisata_id' cannot be null</p><p>INSERT INTO `tags` (`id_wisata_tags`, `wisata_id`, `tags_is_trash`) VALUES ('1', NULL, 1)</p><p>Filename: E:/Server/Xampp2/htdocs/alscms/application/modules/wisata/models/Wisata_model.php</p><p>Line Number: 201</p>	</div>
foto Gunali Rezqi Mauludi oleh @gunalirezqimauludi
10 bulan yang lalu
oowwhh, coba barangkali bener hahaha
<?
function get_wisata_like($wisata_name){

  $this->db->where('wisata_istrash', 1);
  $this->db->where('wisata_name', $wisata_name);
  $query = $this->db->get('wisata');
  $row = $query->row();

  return $row->wisata_id;
}
?>
untuk pemanggilan di controllernya
$get_wisata = $this->post->get_wisata_like($this->input->post('post_nama'));

			foreach($_POST['wisata_tags'] as $tags) {
				
				$this->post->insert_tags($get_wisata,$tags);
			}

Login untuk diksusi di forum sekolah koding