提问者:小点点

在codeigniter中使用id显示数据记录


where子句中的“id_siswa”列不明确

SELECT * FROM `siswa` `a` 
LEFT JOIN `pembayaran_spp` `b` ON `b`.`id_siswa`=`a`.`id_siswa` 
WHERE `id_siswa` = '7%E2%80%8B'

我有两张桌子。

1.表“siswa”结构(id_siswa、nama_siswa、id_tahun_masuk)

2.table'pembayaran_spp'-

我想通过id_siswa显示数据pembayaran_spp。所以当我点击siswa的详细信息时,数据pembayaran由id_siswa显示。

function detailtagihan($id_siswa)
    {
            $data['siswa'] = $this->M_keuangan->tagihansiswa($id_siswa);

            $this->load->view('template/header');
            $this->load->view('template/sidebar');
            $this->load->view('keuangan/v_detailtagihan',$data);
            $this->load->view('template/footer');

    }
function tagihansiswa($id_siswa)
    {
        //$data = array('id_siswa' => $id_siswa );

        $this->db->select('*');
        $this->db->from('siswa a');
        $this->db->join('pembayaran_spp b','b.id_siswa=a.id_siswa', 'left');
        $this->db->where('id_siswa',$id_siswa);

        $query = $this->db->get();
        if($query->num_rows()>0)
            return $query->result();
    }

共1个答案

匿名用户

您应该在where子句中提到要使用的列id_siswa。由于这两个表都有一个同名的列,因此会出现此错误。

如果要使用siswa,则在where条件下写入a.id\u siswa

如果您想使用pembayaran_spp,那么在您的位置条件b.id_siswa