Ilmu yang bermanfaat adalah ilmu yang dibagikan kepada orang yang membutuhkanya

Menampilkan Data Beberapa Tabel

Tutorial PHP Menampilkan Data Beberapa Tabel adalah lanjutan dari tutorial Menyimpan Data & Menampilkan Beberapa Tabel. Sebelum membaca tutorial ini silahkan baca terlebih dulu tutorial sebelumnya. Ditutorial sebelumnya telah dijelaskan cara menyimpan data ke beberapa tabel sekaligus. Seperti dijelaskan sebelumnya, ada tiga tipe relasi antar tabel: relasi satu ke satu, satu ke banyak, dan banyak ke banyak. Di sini akan dijelaskan cara menampilkan data masing masing tipe relasi tabel.
Menampilkan Data Dari Beberapa Tabel

Menampilkan Data Dari Tabel Berelasi Satu-ke-satu


Cara paling cepat menampilkan dari tabel yang berelasi satu-ke-satu adalah menggunakan sql join, seperti kode php di bawah.
pastekan kode dibawah ke dalam adobe dreamweaper atau dreamweaper8
  1. <?php  
  2. $conn = mysql_connect("localhost","root","blah");  
  3. mysql_select_db("test",$conn);  
  4. $sql = "select * from product p inner join buku b on p.id_produk=b.id_produk";  
  5. $result = mysql_query($sql);  
  6. ?>  
  7. <table cellpadding="5" cellspacing="0" border="1">  
  8.     <tr>  
  9.         <th>Nama</th>  
  10.         <th>Harga</th>  
  11.         <th>Penulis</th>  
  12.         <th>Penerbit</th>  
  13.         <th>ISBN</th>  
  14.         <th>Tanggal Terbit</th>  
  15.     </tr>  
  16.     <?php while($buku = mysql_fetch_array($result)){?>  
  17.     <tr>  
  18.         <td><?php echo $buku['nama'];?></td>  
  19.         <td><?php echo $buku['harga'];?></td>  
  20.         <td><?php echo $buku['penulis'];?></td>  
  21.         <td><?php echo $buku['penerbit'];?></td>  
  22.         <td><?php echo $buku['isbn'];?></td>  
  23.         <td><?php echo $buku['tgl_terbit'];?></td>  
  24.     </tr>  
  25.     <?php }?>  
  26. </table>  

Kode untuk menampilkan data dari beberapa tabel di atas hampir sama dengan cara menampilkan data dari satu tabel. Perbedaannya hanya pada baris ke-4, pada baris ke-4 menggunakan sql join.

Menampilkan Data dari Tabel Berelasi Satu-ke-banyak


Untuk menampilkan data dari tabel berelasi satu ke banyak juga bisa menggunakan sql join, namun lebih bagus jika tidak. Caranya adalah membaca tabel induk dan kemudian menampilkan tabel anak berdasarkan isi tabel induk,seperti:
  1. <?php  
  2. $conn = mysql_connect("localhost","root","blah");  
  3. mysql_select_db("test",$conn);  
  4. $sql = "select * from album";  
  5. $result = mysql_query($sql);  
  6. ?>  
  7. <table cellpadding="5" cellspacing="0" border="1">  
  8.     <tr>  
  9.         <th>Judul</th>  
  10.         <th>Artis</th>  
  11.     </tr>  
  12.     <?php while($album = mysql_fetch_array($result)){?>  
  13.     <tr>  
  14.         <td><?php echo $album['judul'];?></td>  
  15.         <td><?php echo $album['artis'];?></td>  
  16.     </tr>  
  17.     <tr>  
  18.         <td colspan="2">  
  19.         <strong>Lagu: </strong>  
  20.         <table cellspacing="0" cellpadding="3">  
  21.             <tr>  
  22.                 <td style="border-bottom:1px solid #000;">No Track</td>  
  23.                 <td style="border-bottom:1px solid #000">Judul</td>  
  24.                 <td style="border-bottom:1px solid #000">Durasi</td>  
  25.             </tr>  
  26.             <?php  
  27.             $rowset = mysql_query("select * from lagu where id_album='".$album['id']."'");  
  28.             while($lagu = mysql_fetch_array($rowset)){  
  29.             ?>  
  30.             <tr>  
  31.                 <td style="border-bottom:1px solid #000; border-right:1px solid #000"><?php echo $lagu['no_track'];?></td>  
  32.                 <td style="border-bottom:1px solid #000; border-right:1px solid #000"><?php echo $lagu['judul'];?></td>  
  33.                 <td style="border-bottom:1px solid #000"><?php echo $lagu['durasi'];?></td>  
  34.             </tr>  
  35.             <?php }?>  
  36.         </table>  
  37.         </td>  
  38.     </tr>  
  39.     <?php }?>  
  40. </table>  

bisa dilihat kode di atas hampir sama dengan kode untuk menampilkan data dari satu tabel. Perbedaanya adalah pada baris 17-38. Baris 17-38 adalah untuk menampilkan lagu berdasarkan id_album album yang sedang ditampilkan.

Menampilkan Data dari Tabel Berelasi Banyak-ke-banyak


Untuk menampilkan data dari tabel yang berelasi banyak ke banyak hampir sama dengan cara menampilkan data dari tabel berelasi satu ke banyak.Bedanya adalah pada sql yang digunakan, yaitu sql join. Sekarang buka kembali file list-mahasiswa.php yang telah dibuat di tutorial sebelumnya dan ubah menjadi:
  1. <?php  
  2. $conn = mysql_connect("localhost","root","blah");  
  3. mysql_select_db("test",$conn);  
  4. $sql = "select * from mahasiswa";  
  5. $result = mysql_query($sql);  
  6. ?>  
  7. <table cellspacing="0" cellpadding="5" border="1">  
  8.     <tr>  
  9.         <td>NIM</td>  
  10.         <td>Nama</td>  
  11.         <td>Jurusan</td>  
  12.         <td>Aksi</td>  
  13.     </tr>  
  14.     <?php while($mhs = mysql_fetch_array($result)){?>  
  15.     <tr>  
  16.         <td><?php echo $mhs['nim'];?></td>  
  17.         <td><?php echo $mhs['nama'];?></td>  
  18.         <td><?php echo $mhs['jurusan'];?></td>  
  19.         <td><a href="mahasiswa_mk.php?nim=<?php echo $mhs['nim'];?>">Tambah Mata Kuliah</a></td>  
  20.     </tr>  
  21.     <tr>  
  22.         <td colspan="4">  
  23.             <strong>Mata Kuliah:</strong>  
  24.             <table cellspacing="0" cellpadding="5" width="100%">  
  25.                 <tr>  
  26.                     <td style="border-bottom:1px solid #000;">Kode MK</td>  
  27.                     <td style="border-bottom:1px solid #000;">Nama MK</td>  
  28.                 </tr>  
  29.                 <?php   
  30.                 $rowset = mysql_query("select * from mahasiswa_mk m inner join   
  31.                 mata_kuliah m1 on m.id_mk=m1.id where nim='".$mhs['nim']."'");  
  32.                 while($mk = mysql_fetch_array($rowset)){  
  33.                 ?>  
  34.                 <tr>  
  35.                     <td style="border-bottom:1px solid #000;border-right:1px solid #000"><?php echo $mk['kode'];?></td>  
  36.                     <td style="border-bottom:1px solid #000;"><?php echo $mk['nama'];?></td>  
  37.                 </tr>  
  38.                 <?php }?>  
  39.             </table>  
  40.         </td>  
  41.     </tr>  
  42.     <?php }?>  
  43. </table> 



Free Template Blogger collection template Hot Deals BERITA_wongANteng SEO theproperty-developer