Hallo! Selamat Datang di Marketplace produk digital, Freelancer terbaik di indonesia (67507 Members, 783 Products, 5291 Topic, 12956 Comments)

Bagaiman Query menampilkan data berdasarkan id kategori

Dibuat
Login Terakhir 2 Bulan lalu,
Telah Dilihat 8427 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 !!!