Membuat Kategori dan Sub Kategori dengan PHP dan MySQL. Pada tutorial kali ini tutorialweb akan membuat sebuah tutorial bagaimana cara membuat kategori dan sub kategori dengan PHP dan MySQL.
Tanpa bosah basih lagi, yuk kita mulai.
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:
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:
Nah, sudah jadi kan..
Jika ada yang perlu di tanyakan silahkan tinggalkan komentar di bawah ya.. 🙂
Boleh komen ya om,
kayaknya diatas itu terlalu banyak query ke database, saya rasa bisa dibuat hanya dengan 1 query saja.
Kategori dan Sub Kategori by TutorialWeb.Net
Tampil Data Kategori
hadeuh, berantakan tampilan komen nya,
berikut link ke agar lebih rapi
http://konglie.web.id/stuff/kategori_sub_kategori.txt
thanks gan atas partisipasinya..
Om,,, saya mo tanya :
Klo di sub kategori terdapat sub lagi (beranak lagi :D), gmn script nya?
Trima kasih 😀
ini cara yang mudah, buat lagi sebuah table di database, misal namanya sub_sub_kategori, dan fieldnya sub_sub_id, sub_id, sub_sub_nama. dimana sub_id akan terelasi ke sub_id pada table sub_kategori.
kan kode php nya ganti dengan ini:
http://tutorialweb.net/wp-content/uploads/2013/05/code.txt
Good,,, fast respons 😀
Makasih Om, akan saya coba
Thanks berat gan, ane udah ubek2 sana sini akhirnya ketemu juga T.T
Gan.
Ane sudah coba membuat sub_sub_kategori dengan field sub_sub_id, sub_id, sub_sub_nama.
Tapi setelah ane coba tampilkan menggunakan kode agan sesuai yang agan kasi diurl diatas, hasilnya hanya menampilkan sampai sub kategori aja gan.
Sedangkan sub sub kategorinya gak tampil.
Mohon pencerahan.
kalau pakai cara di atas, maka looping while nya ada 3 ya?
gan kalo nampilin data kayak nama foto sama keterangan di dalam sub kategori gimana ya, mohon bantuannya
maksudnya ketika sub kategori di klik maka akan tampil data foto dan keterangan gitu za??
Good,,, fast respons 😀
Makasih Om, akan saya coba
gan kalo untuk bkin alias seperti diatas gimana ya….
alias gmn maksudnya?
mantaf gan klw boleh tau hostingnya dimna?
saya coba di idhostinger ribet
kalo mau yang gratis bisa di idhostinger.com, 000webhost.com, web.host.my.id.
Yang ingin saya tanyakan dimanakah harus saya letakan scrip tersebut?? apa disatukan dengan scrip kategori.php atau dibuat scrip sendiri di subkategori.php!! kebetulan saya sudah membuat web tp dibagian kategori blm ada sub kategorinya. Terima Kasih sebelumnya
satu file gan. file index.php
gan seumpama itu sub_nama dari sub kategori berupa file ketika diklik langsung ngelink ke filenya gimana…..naruh ahref nya dimana
thanks
untuk menampilkan sub menu pada kode baris ke-23 seperti ini
Kalau mau nambahin link tinggal rubah kayak gini
ok gan….udah di coba tp belum bisa….saya kan buat web ada direktori buku, db yang nyimpen file buku di tabel buku di field ke 8 kalo dibuat kaya gini kog blm bisa
atau lihat artikel ini -> http://tutorialweb.net/membuat-web-simple-upload-dan-download-file-dengan-php-mysql/
gan kalau di kasih link detail berdasarkan seluruh data subkategori nama harus nambah query lagi apa gmna
iza. kalau mau menambahkan link tinggal ngasi link kayak biasa, cuma teks dan href nya diambil dari database.
gan, mau nanya, misalkan di sebuah tabel kategori dan produk ditampilkan. produk ditampilkan berdasarkan kategori, jadi kalo produknya gaada otomatis kategorinya juga ga tampil, bagaimana gan
tinggal query aja ke database gan.
saya ibaratkan database sudah teresasi antara produk dan kategori (didalam produk ada id_kategori)
tinggal query aja select * from produk where id_kategory=id_kategori
jika num_rows = 0 maka tidak tampil
saya udah coba dan berhasil gan.. :recsel
namun menu kategorinya tidak ber urut berdasarakan id..
jadi, gimana agar kategorinya bisa ber urut, mohon pencerahanya..
di query tambahkan ORDER BY
permisi mas ,kalau mau di masukkan ke dalam select option gimana ya caranya?
yang di atas kan untuk menampilkan via echo saja.
mohon pencerahannya
tinggal “ul” diganti dengan “select”
dan “li” di ganti dengan “option”
Mas Juragan Suhu.
Kalau menggunakan dreamweaver gimana ya?
jadi kita bisa tahu fungsi dalam setiap record dan looping data nya..
thks
Kalo kasusnya sub ktegori seperti itu apa memang bth lbh dr satu tabel,sy buat kategori part motor, ada type, sub ke model,sub ke cc motor, sub ke thn buat, sub ke kategori bag.motor. apakah tabel harus sebanyak kategori tersebut?mohon bimbingannya,terimakasih
tidak harus, ini dibuat untuk mempermudah saja.
bisa saja di buat hanya satu tabel, dengan kolom id, kategori, parent. nanti tinggal di ambil aja dari querynya,
ok ok, terimakasih bimbingannya, solved mas
kak mau tanya.
Cara menampilkan data yang sesuai dengan pilihan user bagaimana caranya.. misal user memilih category elektronik dan tersimpan dalam database.. nah maka di halaman member area user tersebut akan tampil hanya produk elektronik..
ibaratkan ada tabel produk ya, di dalamnya ada bermacam-macam field, na salah satunya ada field kategori.
tinggal di query aja dengan kondisi WHERE, contohnya:
misalnya gini kak..
ibaratkan ada dua tabel ‘ user dan produk ‘ kemudian di user tersebut ada field yang sudah terisi data .contoh : elektronik. nah cara memanggil data dari tabel user agar otomatis , bagai mana.
logikanya.
pilih dari tabel produk berdasarkan category =category yang di pilih user.
di tabel user sudah ada field kategori?
saya belom jelas 🙂
intinya kita memanggil file dari tabel field lain.
saya sudah temukan hasilnya kak..
dengan coba berulang ulang akhirnya ketemu juga..hehe maklumlam lah masih belajar. ini tugas web yang di berikan ke kami.
mantaapp….:)
1.mau nampilin kategori aja..
2. saat kita kelik kateori, dia akan menampilkan data yg ad pad kategori yg d kli sprti Baju terdiri dari baju gami,baju kemeja, dll..
bgm itu cara ny..
untuk nampilkan kateroi + link
Over all bagus, tp kalau pake kondisi ke bootstrap gk bisa pola ini di gunain, dan msh harus d perbaiki.
permisi, ku mau tanya kok punya saya gak muncul sub ketegorinya ya?, tolong pencerahannya
muncul error gak?
min, kok muncul undefined index. saat di coba? gimana solusi nya ?
tambahkan kode ini di baris paling atas
mas mau nanya, misal kategori dibuat checkbox gimana, apabila kita klik checkbox baju maka outputnya data dari baju saja, mohon jawanya min
bisa pakek jquery gan. konsultasi email aja.
manatap.. min kalo menggunakan INNER JOIN bisa gak?? masih newbie :2thumbup
bisa aja gan
gan, mau tanya cara agar bisa agar bisa nambah katagori dan buku nya gmnaa yaa? sya mau buat katalog buku
mohon pencerahanya..
thk,
tambahkan di databasenya, di insertkan
Gan ko sub menu yang tampil nya cuman 1 ?
padahal saya bikin sub menu nya 2.
sudah benar belum kodenya?
Cara memisahkan kategori dan sub kat nya gimana ya gan??
memisahkan gimana?
cara bikin unlimited kategori gimana ya gan??
ini sudah unlimited, mau buat banyak pun bisa kategorinya
Saya ingin buat aplikasi keluarha misalnya dari buyut, kakek, anak, cicit, cucut, bla bla itu suoaya sub kategorinya otomatis gimna
kalau sub kategori ini tidak bisa unlimited. kalau mau unlimited nanti saya tuliskan tutorialnya. tapi sabar dulu ya 😀
kalo da 3 tabel yang berelasi koding nya gimana ya .
ex : tbl_kategori fieldnya ad : id_kategori dan sub_kategori
tbl_sub_kategori fieldnya ada : id_sub_kategori , id_kategori dan nama sub_kategori
nah yg ke 3 tabel upload sub nya fieldnya ada : id_kategori , id_upload dan nama_sub_kategori, file_upload,deskripsi dan tgl upload
nah koding biar ke 3 nya berelasi gimana kak /mbak ? mohon jawabannya.
Nah om kalau untuk ditambahin link urlnya bagaimana ya ?
apakah ada tambahan di dbnya untuk link urlnya atau bagaimana
terima kasih
tambahkan di tabel database
kak, kalo saya tambahain no urut , seperti $no++, biar mereset ke nomer 1 lagi setiap SUB gimana ya ?
buat variabel lagi, $no2, taruh di perulangan ke 2.