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.


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.
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




Alvian Casablancas — arubiandesu@gmail.com

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>

Related posts:

  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

Postingan terbaru

LIHAT SEMUA