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 Join

Salam para master sekalian,

Saya punya 2 tabel database.
Tabel 1 (tblmakul) yang terdiri dari field :
kode_mk| nama_mk | user_buat | tgl_buat | user_ubah | tgl_ubah

Tabel 2 (tbluser) yang terdiri dari field :
username | password | nama

Saya ingin bertanya bagaimana menampilkan user_buat dan user_ubah dalam bentuk nama sekaligus dalam 1 query dengan menggunakan join antara tblmakul dengan tbluser.
Mohon bantuannya. Saya masih pemula.
Tks

Tanggapan

  • Untuk join harus ada relasi antar table.. Kalo boleh tau relasi dari tabel yang dibuat apa nama fieldnya??

    Sample sintaknya: 
    SELECT field_name(s)
    FROM nama_table1 a
    LEFT JOIN nama_table2 b
    ON a.field_name=b.field_name;
  • Sintax tersebut saya sudah tau.
    Tetapi ketika saya ingin menampilkan user_buat dan user_ubah ke dalam bentuk nama. Yang terbaca hanya salah satunya saja.

    Ketika saya buat sintaks seperti ini :
    $data = mysql_fetch_array(mysql_query("SELECT tblmakul.*, tbluser.username, tbluser.nama FROM tblmakul LEFT JOIN tbluser ON tblmakul.user_buat = tbluser.username"));

    Saya ingin meng-echo-kan :
    $user_buat = $data['nama'];
    $user_ubah = $data['nama'];

    Yang terbaca menjadi nama hanya $user_buat karena saya LEFT JOIN ON tblmakul.user_buat = tbluser.username.

    Bagaimana caranya supaya $user_ubah dapat juga terbaca menjadi nama?
    Kira-kira sintaknya gimana ya?
  • cara lu echo nya emng gmn?
  • Justru itu yang saya mau tanya master sacredbluerose.

    Sintaks yang saya buat adalah :
    $data = mysql_fetch_array(mysql_query("SELECT tblmakul.*,
    tbluser.username, tbluser.nama FROM tblmakul LEFT JOIN tbluser ON
    tblmakul.user_buat = tbluser.username"));

    $user_buat = $data['nama'];

    Jika saya mengechokan $user_buat maka akan tampil dalam bentuk nama.

    Pertanyaan saya bagaimana membuat variabel untuk $user_ubah supaya bisa juga tampil dalam bentuk nama?
    Apak sintaksnya diubah? SIntaksnya yang betul seperti apa ya?
    Mohon petunjuknya.
    Tks
  • edited July 2015
    Gw gk ngerti mksd lu. Emng hasilnya gk sama. Bukanya sebelumnya u buat $data['nama'] hasilnya apa? Lu mw nampilin $data['tbluser.nama'] mksdna kali ya.
    Atw di query lu bisa kasi alias..
    tbluser.nama as nama
  • edited July 2015
    Aikh. Double..ignore this
  • edited July 2015
    Begini maksud saya master sacredbluerose :
    1. Saya membuat field kode_mk, nama_mk, user_buat dan user_ubah pada suatu tabel yaitu tabel tblmakul.
    2. kode_mk adalah kode mata kuliah
    3. nama_mk adalah nama mata kuliah
    4. user_buat adalah user yang melakukan inputan data
    5. user_ubah adalah user yang melakukan perubahan data.

    Contoh :
    - Yang melakukan input data adalah user_buat yaitu user : 12345.
    - Yang melakukan ubah data adalah user_ubah yaitu user : 67890.

    Saya ingin menampilkan isi tabel tblmakul dengan bentuk user_buat dan user_ubah itu dalam bentuk nama yang dijoin dengan tbluser yang berisikan daftar username, password, dan nama user tersebut.
    Contoh isi row pada tbluser :
    username  |  password  |  nama
    12345       | belajarjoin  |  Agus
    67890       |  phpmysql  |  Budi

    Klo dari query :
    $data = mysql_fetch_array(mysql_query("SELECT tblmakul.*,
    tbluser.username, tbluser.nama FROM tblmakul LEFT JOIN tbluser ON
    tblmakul.user_buat = tbluser.username"));

    Yang bisa ditampilkan kedalam bentuk nama hanya user_buat yaitu menjadi Agus karena dari query tersebut
    ON tblmakul.user_buat = tbluser.username

    Bagaimana cara supaya user_ubah juga bisa ditampilkan dalam bentuk nama menjadi Budi dari query tersebut?
    Apakah query tersebut harus diperbaiki atau mungkin ada yang harus ditambahkan?
    Tks
  • Oh..okelah..
    SELECT  tblmakul.*,
    tbluser1.username nama_user_buat,
    tbluser2.username nama_user_ubah,
    FROM tblmakul
    INNER JOIN tbluser tbluser1
    ON tblmakul.user_buat = tbluser1.username
    INNER JOIN tbluser tbluser2
    ON tblmakul.user_ubah = tbluser2.username
  • SELECT  tblmakul.*,
    tbluser1.username nama_user_buat,
    tbluser2.username nama_user_ubah,
    FROM tblmakul
    INNER JOIN tbluser tbluser1
    ON tblmakul.user_buat = tbluser1.username
    INNER JOIN tbluser tbluser2
    ON tblmakul.user_ubah = tbluser2.username
    Terima kasih master sacredbluerose.
    Query nya persis seperti yang saya inginkan.

    Tapi perlu diperbaiki sedikit karena  dari query yang master sacredbluerose buat yang ditampilkan masih berbentuk username belum berbentuk nama.


    Saya edit Query-nya seperti ini :
    SELECT  tblmakul.*,
    tbluser1.username user_buat,tbluser1.nama nama_user_buat,
    tbluser2.username user_ubah,tbluser2.nama nama_user_ubah
    FROM tblmakul
    INNER JOIN tbluser tbluser1
    ON tblmakul.user_buat = tbluser1.username
    INNER JOIN tbluser tbluser2
    ON tblmakul.user_ubah = tbluser2.username
Sign In or Register to comment.