(Ada banyak pendekatan untuk loop/kueri bersarang.. ide perubahan struktur adalah memiliki tabel terpisah yang mencantumkan semua anak dari setiap kategori.. dan memastikan bahwa itu tidak hanya memiliki anak langsung, tetapi juga memiliki sub -anak dan sub-anak... seperti 1 punya anak 2, 2 punya anak 3, 1 punya anak 3, 3 punya anak 5, 1 punya anak 5.. dst.) TAPI, untuk situasi sekarang..
Struktur satu loop dapat berupa :
Mulai kumpulan hasil. ||Kueri untuk semua id kategori dengan induk =0. || Tambahkan masing-masing ke array (X). ||Tutup kumpulan hasil.
Untuk setiap id dalam larik (X):
- Buat variabel penghitungan baru (z).
-
Buat larik id anak baru (Y).
-
Mulai kumpulan hasil. ||Jumlah kueri * untuk semua item dengan kategori =id saat ini x ||Tambahkan ke variabel penghitungan (z) ||Tutup kumpulan hasil.
-
Mulai kumpulan hasil. ||Kueri untuk semua id kategori di mana induk =id saat ini x ||Tambahkan semua ke larik id anak (Y). ||Tutup kumpulan hasil.
-
sedangkan panjang larik anak (Y)> 0
-
kategori id y =item pertama dalam larik (Y)
-
Mulai kumpulan hasil. ||Kueri untuk semua id kategori di mana induk =id saat ini y. ||Tambahkan semua ke larik id anak (Y). ||Tutup kumpulan hasil.
-
Mulai kumpulan hasil. ||Jumlah kueri * untuk semua item dengan kategori =id saat ini y ||Tambahkan ke variabel penghitungan (z) ||Tutup kumpulan hasil.
-
hapus item pertama dari array (Y)
-
-
lanjutkan while loop
-
Pada titik ini Anda memiliki jumlah item terakhir (z) untuk id kategori x... lakukan sesuatu dengannya, lalu lanjutkan dengan perulangan for
Akhiri perulangan