Postingan lainnya
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
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..
print rnya pas dibagian controller mas? untuk melihat hasilnya
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);
}
gak muncul ternyata mas hasilnya, tapi kalo saya jalankan difungsi lain bisa, berarti memang gak kebaca pas difungsi ajax_add itu
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 ?
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();
}
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>
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);
}
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>
laaah, ko error yaah...Line 194 wisata_model.php , scriptnya coba liat..
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:
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..
itu dimodel kan mas, akses diurlnya bagaimana ya biar melihat hasilnya
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
oke maaf telat mas, saya coba dulu mudah2an bisa
Tanggapan
solvednya gimana bang? punya kendala yang sama nih..