-1

im new in CI and i got problem when try to running library app. and it said i got problem on 'public'. id understand. hope u guys find the problem

public function katalog_detail(){
    $id=$this->uri->segment(3);
    $buku=$this->db->query('select*from buku b, kategori k where b.id_kategori=k.id_kategori')->result();

    foreach ($buku as $fields) 
    {
        $data['judul'] = $fields->judul_buku;
        $data['pengarang'] = $fields->pengarang;
        $data['penerbit'] = $fields->penerbit;
        $data['kategori'] = $fields->nama_kategori;
        $data['tahun'] = $fields->thn_terbit;
        $data['isbn'] = $fields->isbn;
        $data['gambar'] = $fields->gambar;
        $data['id'] = $fields->id;
    }
    $this->load->view('desain');
    $this->load->view('toplayout');
    $this->load->view('detail_buku', $data);
}

2 Answers2

1

If this is a PHP library file, the problem is "public", it doesn't exist in PHP functions but in PHP classes. You just have to delete it and set the function as:

function katalog_detail(){

    $id=$this->uri->segment(3);
    $buku=$this->db->query('select*from buku b, kategori k where b.id_kategori=k.id_kategori')->result();

    foreach ($buku as $fields) 
    {
        $data['judul'] = $fields->judul_buku;
        $data['pengarang'] = $fields->pengarang;
        $data['penerbit'] = $fields->penerbit;
        $data['kategori'] = $fields->nama_kategori;
        $data['tahun'] = $fields->thn_terbit;
        $data['isbn'] = $fields->isbn;
        $data['gambar'] = $fields->gambar;
        $data['id'] = $fields->id;
    }
    $this->load->view('desain');
    $this->load->view('toplayout');
    $this->load->view('detail_buku', $data);
}
Gabry
  • 22
  • 1
  • 2
0

The public keyword is used only in function/variable declarations within a class. Since you're not using a class you need to remove it from your code.

dns_nx
  • 3,651
  • 4
  • 37
  • 66