Anda mendapatkan hasil yang diharapkan. Jika Anda memiliki hasil yang ditetapkan a,b,c,d
, Anda memulai dengan a
yang merupakan kategori induk, sehingga mundur ke awal set, dan beralih melalui a,b,c,d
lagi sebagai subkategori. Sekarang Anda berada di akhir set sehingga kedua loop akan keluar karena tidak ada data lagi.
Apa yang mungkin ingin Anda lakukan adalah membaca semua data ke dalam array PHP terlebih dahulu, lalu mengulanginya dan membangun semacam struktur pohon. Anda mungkin juga dapat membangun struktur pohon secara langsung di loop mysql_fetch.
Bergantung pada apa yang ingin Anda capai, ada juga cara yang lebih baik untuk menyimpan data Anda. Ada baiknya membaca tentang cara menyimpan pohon dan data hierarkis dalam SQL. Kumpulan bersarang mungkin yang Anda inginkan.
Satu hal lagi:jangan gunakan mysql_fetch_array
, gunakan mysql_fetch_assoc
alih-alih. Jika tidak, Anda akan mendapatkan kunci numerik dan asosiatif serta larik baris yang berisi dua kali jumlah data yang seharusnya.