join table dengan 2 kondisi ?

Hay gan . mau nanya misal ada 2 tabel . tabel siswa dan tabel mata pelajaran . ada pelajaran yang harus di ambil sama siswa dalam satu list . saya udah berhasil nampilin pejaran apa aja yang harus di ambil sama siswa, tapi buat kasih satu informasi pelajaran itu udah di ambil atau belum gimana ya tekniknya. thanks

gimana caranya tabel status nunjukin pelajaran itu udah di ambil atau belum . thanks

avatar Saputroandhi
@Saputroandhi

509 Kontribusi 162 Poin

Diperbarui 7 tahun yang lalu

8 Jawaban:

1. simpan id mapel yg diambil dalam 1 kolom dipisah pake koma, dalam tabel siswa 2. explode id mapel simpan dalam variable 3. tampilkan daftar mapel serta cek menggunakan in_array

if(in_array($row['id_mata_pelajaran'], $idPilih)) {
 echo $row['nama_mapel'].'Sudah Dipilih';
}
else{
 echo $row['nama_mapel'].'Belum Dipilih';
}

avatar switch
@switch

78 Kontribusi 23 Poin

Dipost 7 tahun yang lalu

Coba ini

SELECT
FROM tabel_siswa
JOIN link_mapel ON link_mapel.kode_program_studi = tabel_siswa.program_studi
JOIN tabel_mapel ON tabel_mapel.id_mata_pelajaran = link_mapel.id_mata_pelajaran

avatar switch
@switch

78 Kontribusi 23 Poin

Dipost 7 tahun yang lalu

Udah bisa gan, tapi jadinya ada row yang kembar.

avatar Saputroandhi
@Saputroandhi

509 Kontribusi 162 Poin

Dipost 7 tahun yang lalu

coba pake

SELECT DISTINCT

coba posting kesini koding tampilnya

avatar switch
@switch

78 Kontribusi 23 Poin

Dipost 7 tahun yang lalu

"SELECT  * FROM mata_pelajaran
JOIN link_studi ON mata_pelajaran.matpel_kode=link_studi.link_studi_kodematpel
JOIN link_matpel_siswa ON link_matpel_siswa.link_matpel_npm='$siswa_npm'
WHERE link_studi_programstudi = '$program_sudi_session' "

itu yang ane pake gan tabel mata_pelajaran = buat detail mata pelajaran . link_studi = buat list pelajaran yang harus di ambil, link_matpel_siswa = list pelajaran yang udah di ambil

avatar Saputroandhi
@Saputroandhi

509 Kontribusi 162 Poin

Dipost 7 tahun yang lalu

pake query yg pertama seperi gambar postingan diatas terus tinggal cek pake in_array, harusnya udah jadi

avatar switch
@switch

78 Kontribusi 23 Poin

Dipost 7 tahun yang lalu

ane berhasil pake cara bar-bar ini gan .

tampilan hasilnya

minta saran

avatar Saputroandhi
@Saputroandhi

509 Kontribusi 162 Poin

Dipost 7 tahun yang lalu

mapel_kode diambil dari banyak baris ya ?

ide ane kode_mapel dikumpulin jadi 1 kode_mapel[1, 2, 3, 4] ,terus diperiksa pake in_array() mungkin akan jadi lebih clean

SELECT GROUP_CONCAT(kode_mapel)
avatar switch
@switch

78 Kontribusi 23 Poin

Dipost 7 tahun yang lalu

Login untuk ikut Jawaban