Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Mencantumkan kode program di posting Anda, tolong ikuti aturan yang sesuai, baca http://diskusiweb.com/discussion/39204/aturan-cara-menyisipkan-kode-program-di-diskusiweb

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

menampilkan data yang berbeda dlm satu relasi :

saya punya tabel dosen dan laporan_ta,
dimana yng menjadi FK di tabel laporan_ta adlah nip_pb1 dan nip_pb2 yang
nilai ny berasal dari nip pada tabel dosen.
permasalahn muncul ketika saya ingin menampilkan data laporan beserta
pembimbingnya...
in syntak query ny :
$sql="select * from alumni A,mahasiswa M,dosen D, $table where TA.nim_alumni=A.nim_alumni and
A.nim_alumni=M.nim and TA.nip_pb1=D.nip_dosen and TA.nip_pb2=D.nip_dosen ORDER BY TA.no_lap_ta
DESC LIMIT $from, $max_results";

data nama dosn malah muncul yang sama 2x tuk satu data laporan..
seharusnya muncul nama dosen 1 dan dosen 2.

mohon bantuan

Tanggapan

  • download mysql manual,
    baca ttg perintah JOIN (terutama LEFT JOIN dan LEFT INNER JOIN)

    JOIN sendiri banyak kombinasinya
    coba banding2kan sendiri gunanya...
  • makasiih mas badman.>>!!!!!! :D:D:D
  • Desain tabel salah. Seharusnya antara tabel ta dan doping dipisah.

    tb-ta fieldnya
    id-ta(auto),judul,deskripsi

    tb-skripsi-doping
    id-ta,nip-dosen.

    tb-skripsi-mhs
    id-ta,nip-mhs

    Sehingga tiap skripsi bs dikerjakam lbh dari 1 mahasiswa dan dibimbing lbh dar 1 dosen.
  • buat mas goku : menrut saia mahaisswa ga mungkin menulis lebih dari satu skripsi (dlm kasu ini mas tentunya :D:D)...
    tpi sebrny saran mas goku itu bener juga...jadi buat tabel bimbinga lagi...

    tuk mas badman :
    mohon abntuan mas, saia udh pake left join, saia coba di GUI SQL nya berhasil..tetapi ketika di script php ny dia tetp menampilkn nama dosen yng sama...

    krn "$data[nama_dosen]" hanya membaca nip yang sama walaupun dalm tabel tersebut..ad dua nip yg berbeda..


    :(:(
  • Utk pembimbing juga. Lah bs aja toh skripsi dikerjakan lbh dari 1 mhs.
  • iih mas goku ...:D (nyengiir dulu)

    dalam kasus ini : mahasiswa hanya bisa menyusun 1 laporan TA (walupun dikerjakan oleh banyak mahasiswa)...tapi ttp saja yg pokokny 1 mahasiswa yang menyusun TA..

    nah klo pembimbing, dalm kasus ini maksimal 2 pembimbing tuk laporan TA..

    gitu mas..makany saia menemui maslah ketika menampilkan nama dosen yang membimbing...di karenakan dalam tabel laporan TA ad 2 FK dari tabl dosen yaitu : nip_pb1 dan nip_pb2, sehingga hanay satu nama dosenyang dibaca akibatnya nama dosen yg sama muncul di pembimbing1 dan pembimbing2..seharusnya maah ga...kr ke 2 pembimbing tsb mempunyai nip yg berbeda
  • saya mencaba left join( sumpaah baru kali ini..biasanya pk sub query)
    select nama_dosen from dosen left join laporan_ta on laporan_ta.nip _pb1=dosen.nip_dosen and aporan_ta.nip _pb2=dosen.nip_dosen

    naah munculny 2 baris...yaah degn kata lain berrti query yg saya eksekusi terbaca..

    nah masalhny ketika saya gunakan script php tuk menampilkn 2 nama pembimbing tersebut..

    $data[nama_dosen] (field berasal dari tbl dosen)

    eeeh munculny..
    Pembimbing1 | Pembimbing2 |
    Darmo,Msi | Darmo, Msi |

    seharusnya :
    Pembimbing1 | Pembimbing2 |
    Darmo,Msi | Erry kotiyanti |

    krn di recordny puny 2 nip pembimbing yg beda..

    uuugh mumeth kang dan mba
  • skripsi dikerjakan lebih dr 1 mhs... kayanya gak bisa (skripsi punya anak sos, 1 orang satu)
    kalo ta, iya dimungkinkan, itu pun tergantung universitasnya... dan jurusannya...


    ttg query... query terakhir yg dipake di script kaya apa?
    yg sudah dicoba di gui-nya sql kaya apa?
    coba dua2 nya di post
  • ...kebalik...

    yg diatas artinya tabel "utama"-nya tabel dosen
    padahal semestinya tabel laporan_ta

    lalu karena dosen-nya mesti dua,
    di left join 2 kali juga


    select ta. ... , d1. ... , d2. ...
    from table_ta ta
    left join table_dosen d1 on ta. ... = d1. ...
    left join table_dosen d2 on ta. ... = d2. ...
    where ta. ... = ...
  • maaap mba risma ... yang d1.d2.itu mba risma asumsikan sebgai nip1 dan nip2 yg ad di tbl ta kan??

    lagi saia coab niih tpi msh blm bisa
  • d1, d2 bukan nama field, nama field-nya blom saya masukin, anda sesuaikan sendiri
    d1, d2, ta itu alias nama tabel
    (tabel yg bereferensi dgn 2 alias tsb tabel dosen)

    sama kaya :
    from alumni A,mahasiswa M,dosen D
    di sql anda

    cuma saya tulis cuma "layout"-nya biar anda menggali sendiri...
  • Karena ada 2 dosen maka coba aliasnya tabel dosen jangan 1

    $sql="select * from alumni A,mahasiswa M,dosen D,dosen E, $table where TA.nim_alumni=A.nim_alumni and
    A.nim_alumni=M.nim and TA.nip_pb1=D.nip_dosen and TA.nip_pb2=E.nip_dosen ORDER BY TA.no_lap_ta
    DESC LIMIT $from, $max_results";
  • wew

    dah coba ini di sql gui-nya nungulnya apa :


    SELECT ta.no_lap_ta,d1.nama_dosen,d2.nama_dosen
    FROM laporan_ta ta
    LEFT JOIN dosen d1 ON ta.nip_pb1=d1.nip_dosen
    LEFT JOIN dosen d2 ON ta.nip_pb2=d2.nip_dosen
    ORDER BY ta.no_lap_ta DESC

    silakan dikembangkan sendiri
  • ekekkeke maap mba risma baru...tapi ap bisa tetap memunculkan nama dosen yg beda wlpun dama alisa tableny beda???
    $sql="select * from alumni A,mahasiswa M,dosen D, dosen E, $table where TA.nim_alumni=A.nim_alumni and
    A.nim_alumni=M.nim and TA.nip_pb1=D.nip_dosen and TA.nip_pb2=E.nip_dosen ORDER BY TA.no_lap_ta
    DESC LIMIT $from, $max_results";

    itu sdh saia perbarui mas goku..tpi masiiih..lagi....namanya nongol 2x nih mas :

    tanya.jpg

    sepertiny penulisan script saia ini yang hanya membaca nama dosen dgn nip yg sama :

    tanya2.jpg

    mohon bantuan lagi semuanya....
  • lha yg di php sql yg dipake kaya apa?
    sudah disesuaikan?
    coba di post bagian sql-nya...

    lalu itu ada variabel $table ... isinya apa?
  • coba pakai alias

    SELECT ta.no_lap_ta,d1.nama_dosen as dosen_1,d2.nama_dosen as dosen_2 ...

    $data[dosen_1] ;
    $data[dosen_2] ;
  • mba risma!! di SQL GUI ny berhasil, dengan memakai...
    SELECT ta.no_lap_ta,d1.nama_dosen,d2.nama_dosen
    FROM laporan_ta ta
    LEFT JOIN dosen d1 ON ta.nip_pb1=d1.nip_dosen
    LEFT JOIN dosen d2 ON ta.nip_pb2=d2.nip_dosen
    ORDER BY ta.no_lap_ta DESC 
    

    tanya3.jpg

    tapi mba hasil di php ny mash muncul2x...aduuh pusiink bgt nih...!!!

    tanya.jpg
  • ooup mas badman klo yg $table itu pertamany itu definisi dari "laporan_ta TA"..
    SELECT ta.no_lap_ta,d1.nama_dosen,d2.nama_dosen 
    
    FROM laporan_ta ta 
    
    LEFT JOIN dosen d1 ON ta.nip_pb1=d1.nip_dosen 
    
    LEFT JOIN dosen d2 ON ta.nip_pb2=d2.nip_dosen 
    
    ORDER BY ta.no_lap_ta DESC  
    

    itu yng dibantu mba risma...

    tapi karena saia menampilkan datanya
    dengan
    $res=mysql_query($sql);
    $data=mysql_fetch_array($res);
    
    $data[nama_dosen]
    


    data namany masiih muncul2x
  • fiuuuuh...MAKASIH MAS GOKU, MBA RISMA, MAS BADMAN.

    mantaaabh.....harus lebih banyak belajar lagi.

    makasih bantuannya

    $sql="SELECT ta.no_lap_ta,ta.judul_ta,ta.nim_alumni,d1.nama_dosen as dosen_1, d2.nama_dosen as dosen_2,m.nama_mhs
    				 FROM laporan_ta ta 
    				 LEFT JOIN dosen d1 ON ta.nip_pb1=d1.nip_dosen 
    				 LEFT JOIN dosen d2 ON ta.nip_pb2=d2.nip_dosen
    				 LEFT JOIN mahasiswa m ON ta.nim_alumni=m.nim
    				 ORDER BY ta.no_lap_ta DESC LIMIT $from, $max_results";
    
  • Wah alhamdulillah ini yang saya cari-cari.. Thank you mas @egar buat sharing solving problem SQL Syntax nya :#
Sign In or Register to comment.