Hallo! Selamat Datang di Marketplace produk digital, Freelancer terbaik di indonesia (68826 Members, 786 Products, 5386 Topic, 13072 Comments)

Bagaiman Query menampilkan data berdasarkan id kategori

Dibuat
Login Terakhir 24 Hari lalu,
Telah Dilihat 9532 Kali
muhammmad iradat Mengatakan : Sultan Account
  1. Assalamualaikum Warahmatullahi Wabarakatuh...
  2. saya punya struktur tabel seperti ini
  3.  
  4. DROP TABLE IF EXISTS `produks`;
  5. CREATE TABLE `produks` (
  6. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  7. `nama` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  8. `kategori_id` int(10) DEFAULT NULL,
  9. `foto` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  10. `harga_unit` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  11. `kode` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  12. `created_at` timestamp NULL DEFAULT NULL,
  13. `updated_at` timestamp NULL DEFAULT NULL,
  14. PRIMARY KEY (`id`)
  15. ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
  16.  
  17. SET FOREIGN_KEY_CHECKS = 1;
  18.  
  19. DROP TABLE IF EXISTS `produk_categories`;
  20. CREATE TABLE `produk_categories` (
  21. `kategori_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  22. `nama` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  23. `created_at` timestamp NULL DEFAULT NULL,
  24. `updated_at` timestamp NULL DEFAULT NULL,
  25. PRIMARY KEY (`id`)
  26. ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
  27.  
  28. SET FOREIGN_KEY_CHECKS = 1;
  29.  
  30. bagaimana caranya menampilkan data barang berdasarkan kategori_id....seperti
  31.  
  32. Kategori A
  33. -Data1
  34. -Data2
  35.  
  36. Kategori B
  37. -Data1
  38. -Data2
  39.  
  40. Saya udah nyoba pake query seperti ini
  41.  
  42. $data = DB::select('SELECT produks.nama AS nm,produks.harga_unit AS hu,produks.kategori_id AS kt FROM produks
  43. INNER JOIN
  44. (
  45. SELECT kategori_id
  46. FROM produk_categories
  47.  
  48. )AS klkl GROUP BY nama
  49. ');
  50.  
Ada 1 File Kiriman :
1. Screen_Shot_2019-03-04_at_01_36_39.png (25 KB)

Ada 1 Jawaban

Bukhori Muslim
commented on 06 Mar 2019 07:33:59
  1. Assalam,.. kenapa gak pake 2 kali query saja mas biar lebih gampang dan ringan prosesnya, begini :
  2. $kategori = mysql_query("SELECT * FROM kategori");
  3. while ($k = mysql_fetch_array($kategori)){
  4. echo "$k[nama_kategori]";
  5. $produk= mysql_query("SELECT * FROM produk where id_kategori='$k[id_kategori]'");
  6. while ($p = mysql_fetch_array($produk)){
  7. echo "$p[nama_produk]";
  8. }
  9. }
Maaf, Untuk Memberikan Komentar Anda Harus Login !!!

Online