Dasarnya adalah kita akan membuat
dua table di database, misalkan dengan nama
kategori dan
sub_kategori. Dan di tabel sub_kategori terdapat satu field yang nanti akan terelasi dengan table kategori. Dan struktur table bisa terlihat seperti gambar di bawah ini:
Oke, silahkan buat Database baru di phpMyAdmin, misalkan saya buat dengan nama
tutorialweb, kemudian dumping script SQL di bawah ini:
Script SQL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | CREATE TABLE `kategori` ( `kategori_id` int(11) NOT NULL auto_increment, `kategori_nama` varchar(32) NOT NULL, PRIMARY KEY (`kategori_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ; INSERT INTO `kategori` VALUES (1, 'Buah'); INSERT INTO `kategori` VALUES (2, 'Baju'); INSERT INTO `kategori` VALUES (3, 'Laptop'); INSERT INTO `kategori` VALUES (4, 'Layar LCD'); CREATE TABLE `sub_kategori` ( `sub_id` int(11) NOT NULL auto_increment, `kategori_id` int(11) NOT NULL, `sub_nama` varchar(32) NOT NULL, PRIMARY KEY (`sub_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ; INSERT INTO `sub_kategori` VALUES (1, 1, 'Semangka'); INSERT INTO `sub_kategori` VALUES (2, 1, 'Jeruk'); INSERT INTO `sub_kategori` VALUES (3, 1, 'Apel'); INSERT INTO `sub_kategori` VALUES (4, 1, 'Manggis'); INSERT INTO `sub_kategori` VALUES (5, 3, 'Acer'); INSERT INTO `sub_kategori` VALUES (6, 3, 'Axio'); INSERT INTO `sub_kategori` VALUES (7, 4, 'Treq'); INSERT INTO `sub_kategori` VALUES (8, 4, 'Komic'); INSERT INTO `sub_kategori` VALUES (9, 2, 'Lengan Panjang'); |
Nah, dari Script SQL di atas anda akan mendapatkan dua table yaitu kategori dan sub_kategori. Dan juga sudah ter-Insert beberapa data yang sudah terelasi. Berikut ini contoh relasi data antara table kategori dan sub_kategori:
Singkatnya jika ada kategori dengan ID 1, dan anda ingin ada sub kategori di ID 1 maka isi kategori_id dengan 1 di table sub_kategori.
Penmahasan Database saya rasa sudah, sekarang kita buat Script PHP untuk menampilkan data dari Database di atas, dan berikut ini Scriptnya:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <?php mysql_connect("localhost", "root", "root"); mysql_select_db("tutorialweb"); ?> <html> <head> <title>Kategori dan Sub Kategori by TutorialWeb.Net</title> </head> <body> <h2>Tampil Data Kategori</h2> <?php $sql = mysql_query("SELECT * FROM kategori ORDER BY kategori_nama ASC"); if(mysql_num_rows($sql) != 0){ echo '<ul>'; while($row = mysql_fetch_assoc($sql)){ $kat_id = $row['kategori_id']; $sql2 = mysql_query("SELECT * FROM sub_kategori WHERE kategori_id='$kat_id'"); echo '<li>'.$row['kategori_nama']; echo '<ul>'; while($row2 = mysql_fetch_assoc($sql2)){ echo '<li>'.$row2['sub_nama'].'</li>'; } echo '</ul>'; echo '</li>'; } echo '</ul>'; } ?> </body> </html> |
Dan tampilan yang dihasilkan di browser akan nampak seperti gambar di bawah ini:
Source : http://tutorialweb.net/membuat-kategori-dan-sub-kategori-dengan-php-dan-mysql/