Menampilkan data dari 2 tabel dengan php

Penggabungan antara dua tabel sangatlah perlu, agar relationship dapat bekerja, berikut adalah cara penggabungan dua atau lebih tabel pada Bahasa Pemrograman PHP dan MySQL.


Menampilkan data dari 2 tabel dengan php
Contoh tabel user

Pada contoh kali ini, saya akan mempraktikan cara menggabungkan data siswa dengan data user yang sudah memiliki relasi dengan menggunakan perintah SQL Inner Join.


Pertama, buat dahulu databasenya, kita beri saja nama ‘db’, kemudian eksekusi query berikut pada MySql:

CREATE TABLE IF NOT EXISTS `tblsiswa` (
`NIS` varchar(15) NOT NULL,
`Nama` varchar(30) NOT NULL,
`Alamat` text NOT NULL,
PRIMARY KEY (`NIS`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Kemudian kita buat juga tabel usernya, eksekusi query berikut:
CREATE TABLE IF NOT EXISTS `tbluser` (
`Id` int(5) NOT NULL AUTO_INCREMENT,
`Username` varchar(15) NOT NULL,
`Password` varchar(15) NOT NULL,
`NIS` varchar(15) NOT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

Nah, sekarang kita isi tabelnya dengan mengeksekusi perintah INSERT ke dalam tabel user, gunakan query berikut:
INSERT INTO `tbluser` (`Id`, `Username`, `Password`, `NIS`) VALUES
(1, 'alvian', 'alvian', '11265');

Jangan lupa masukkan data ke tabel siswa, gunakan query yg ini:
INSERT INTO `tblsiswa` (`NIS`, `Nama`, `Alamat`) VALUES
('11265', 'Alvian', 'Banjarnegara');

Setelah selesai, sekarang buat file php kemudian masukkan kode skrip dibawah ini:
<?php
$server = "localhost";
$username = "root";
$password = "";
$database = "db";

mysql_connect($server,$username,$password) or die("Koneksi gagal");
mysql_select_db($database) or die("Database tidak bisa dibuka");

$Query = mysql_query("SELECT * FROM tbluser
INNER JOIN tblsiswa
ON tblsiswa.NIS = tbluser.NIS");

$RecordSet = mysql_fetch_array($Query);

echo "Profil: <br><br>";
echo "NIS: $RecordSet[NIS]<br>";
echo "Username: $RecordSet[Username]<br>";
echo "Password: $RecordSet[Password]<br>";
echo "Nama: $RecordSet[Nama]<br>";
echo "Alamat: $RecordSet[Alamat]<br>";
?>

Setelah itu coba dibuka melalui browser, maka tabel siswa dan tabel user akan menyatu dan sudah menjadi kesatuan baris data yang padahal mereka ada di tabel yang berbeda.
Menampilkan data dari 2 tabel dengan php
Hasil gabungan tabel 1 dan 2Dalam hal implementasi, sama dengan pengambilan data (retrieve) seperti yang ada pada sebagian besar sosial media, mereka umumnya memisahkan tabel data profil dengan data user di tabel yang berbeda, untuk mencegah kerumitan data sekaligus normalisasi.

Sedangkan untuk menggabungkan tiga tabel kita cukup menambah perintah inner join lagi pada variabel Query yang ada pada sintaks PHP, contohnya begini:
SELECT * FROM tbluser
INNER JOIN tblsiswa
ON tblsiswa.NIS = tbluser.NIS
INNER JOIN blabla
ON blabla.bla = blabla.bla

begitu pun seterusnya bila kita memerlukan penggabungan lebih dari 3 tabel, maka kita cukup tambahkan perintah inner join dibawahnya lagi


Menampilkan data dari 2 tabel dengan php


Alvian Casablancas — [email protected]

Terimakasih sudah berkunjung di alvian-cs.blogspot.com, silakan membaca artikel yang lainnya lagi dan jangan lupa berkomentar cerdas dengan tidak membuat SPAM :)

Halo Para master programmer, salam kenal saya mau tanya nih, saya ada study kasus dimana saya harus membuat 2 tabel dalam satu database, kemudian di munculkannya menjadi 1, contoh : table1// valuenya: no_order, nama_barang, stok table2// valuenya: no_order, jumlah_beli, harga hasil yang muncul harus table : no_order, nama_barang, stok, jumlah_beli, sisa_stok, harga (sisa_stok di peroleh dari : stok-jumlah_beli) barang kali agan" yg baik mau membantu dan memberikan contoh script php.nya, semoga yang membantu di lancarkan rezekinya. makasih :)

Pada artikel ini, saya akan sharing bagaimana cara menampilkan data dari beberapa table sekaligus. Hal ini biasanya dibutuhkan ketika ada data yang berelasi pada table yang berbeda untuk lebih melengkapi data yang akan ditampilkan.

Menampilkan Data Dari Tabel Berelasi Satu-ke-satu

	
<?php
$conn = mysql_connect("localhost","root","blah");
mysql_select_db("test",$conn);
$sql = "select * from product p inner join buku b on p.id_produk=b.id_produk";
$result = mysql_query($sql);
?>
<table cellpadding="5" cellspacing="0" border="1">
    <tr>
        <th>Nama</th>
        <th>Harga</th>
        <th>Penulis</th>
        <th>Penerbit</th>
        <th>ISBN</th>
        <th>Tanggal Terbit</th>
    </tr>
    <?php while($buku = mysql_fetch_array($result)){?>
    <tr>
        <td><?php echo $buku['nama'];?></td>
        <td><?php echo $buku['harga'];?></td>
        <td><?php echo $buku['penulis'];?></td>
        <td><?php echo $buku['penerbit'];?></td>
        <td><?php echo $buku['isbn'];?></td>
        <td><?php echo $buku['tgl_terbit'];?></td>
    </tr>
    <?php }?>
</table>

Menampilkan Data dari Tabel Berelasi Satu-ke-banyak

<?php
$conn = mysql_connect("localhost","root","blah");
mysql_select_db("test",$conn);
$sql = "select * from album";
$result = mysql_query($sql);
?>
<table cellpadding="5" cellspacing="0" border="1">
    <tr>
        <th>Judul</th>
        <th>Artis</th>
    </tr>
    <?php while($album = mysql_fetch_array($result)){?>
    <tr>
        <td><?php echo $album['judul'];?></td>
        <td><?php echo $album['artis'];?></td>
    </tr>
    <tr>
        <td colspan="2">
        <strong>Lagu: </strong>
        <table cellspacing="0" cellpadding="3">
            <tr>
                <td style="border-bottom:1px solid #000;">No Track</td>
                <td style="border-bottom:1px solid #000">Judul</td>
                <td style="border-bottom:1px solid #000">Durasi</td>
            </tr>
            <?php
            $rowset = mysql_query("select * from lagu where id_album='".$album['id']."'");
            while($lagu = mysql_fetch_array($rowset)){
            ?>
            <tr>
                <td style="border-bottom:1px solid #000; border-right:1px solid #000"><?php echo $lagu['no_track'];?></td>
                <td style="border-bottom:1px solid #000; border-right:1px solid #000"><?php echo $lagu['judul'];?></td>
                <td style="border-bottom:1px solid #000"><?php echo $lagu['durasi'];?></td>
            </tr>
            <?php }?>
        </table>
        </td>
    </tr>
    <?php }?>
</table>

  1. Jenis – jenis Web Server Local
  2. Menyimpan Laporan dari PHP ke Ms Excel
  3. Memanipulasi Database Menggunakan Kode PHP MySQL
  4. CRUD Sederhana dengan PHP & MySQL