codeigniter Error undifined offset : 0

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

avatar 4key
@4key

70 Kontribusi 2 Poin

Diperbarui 7 tahun yang lalu

15 Jawaban:

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..

avatar gunalirezqimauludi
@gunalirezqimauludi

350 Kontribusi 243 Poin

Dipost 7 tahun yang lalu

print rnya pas dibagian controller mas? untuk melihat hasilnya

avatar 4key
@4key

70 Kontribusi 2 Poin

Dipost 7 tahun 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);
			}
avatar gunalirezqimauludi
@gunalirezqimauludi

350 Kontribusi 243 Poin

Dipost 7 tahun yang lalu

gak muncul ternyata mas hasilnya, tapi kalo saya jalankan difungsi lain bisa, berarti memang gak kebaca pas difungsi ajax_add itu

avatar 4key
@4key

70 Kontribusi 2 Poin

Dipost 7 tahun 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 ?

avatar gunalirezqimauludi
@gunalirezqimauludi

350 Kontribusi 243 Poin

Dipost 7 tahun 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();
		}
avatar 4key
@4key

70 Kontribusi 2 Poin

Dipost 7 tahun 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>

avatar 4key
@4key

70 Kontribusi 2 Poin

Dipost 7 tahun 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);
			}
avatar gunalirezqimauludi
@gunalirezqimauludi

350 Kontribusi 243 Poin

Dipost 7 tahun yang lalu

masih error mas, dan skarang error dimmodelnya :D

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

<p>Severity: Notice</p>
<p>Message:  Trying to get property of non-object</p>
<p>Filename: models/Wisata_model.php</p>
<p>Line Number: 194</p>

	<p>Backtrace:</p>

avatar 4key
@4key

70 Kontribusi 2 Poin

Dipost 7 tahun yang lalu

laaah, ko error yaah...Line 194 wisata_model.php , scriptnya coba liat..

avatar gunalirezqimauludi
@gunalirezqimauludi

350 Kontribusi 243 Poin

Dipost 7 tahun yang lalu

sudah saya coba oprek sih mas, salah caranya sepertinya, itu yg 194 pas script bagian ini

return $row->wisata_id;

saya ganti menjadi begini

return $row['wisata_id'];

yang saya heran masih tidak terbaca di fungsi insertnya yg wisata_idnya selalu null

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:
avatar 4key
@4key

70 Kontribusi 2 Poin

Dipost 7 tahun yang lalu

aneh, coba print_r step by step , lagi jadi penasaran haha,

<?
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();

  print_r($row );exit();

  // return $row->wisata_id;
}
?>

jika return wisata_id nya ada, get $row->wisata_id, seharusnya muncul sih..

avatar gunalirezqimauludi
@gunalirezqimauludi

350 Kontribusi 243 Poin

Dipost 7 tahun yang lalu

itu dimodel kan mas, akses diurlnya bagaimana ya biar melihat hasilnya

avatar 4key
@4key

70 Kontribusi 2 Poin

Dipost 7 tahun yang lalu

Jawaban Terpilih

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 [img]https://s27.postimg.org/3ti0h1sib/Screen_Shot_2017_01_11_at_17_31_40.png[/img]

controller [img]https://s27.postimg.org/vkt4p58k3/Screen_Shot_2017_01_11_at_17_33_01.png[/img]

model

hasil return

avatar gunalirezqimauludi
@gunalirezqimauludi

350 Kontribusi 243 Poin

Dipost 7 tahun yang lalu

oke maaf telat mas, saya coba dulu mudah2an bisa

avatar 4key
@4key

70 Kontribusi 2 Poin

Dipost 7 tahun yang lalu

Tanggapan

solvednya gimana bang? punya kendala yang sama nih..

Login untuk ikut Jawaban