Cara Mendapatkan dan Menstrukturkan Hierarki Kategori dalam PHP/MySQL

DDD
Lepaskan: 2024-10-24 03:45:02
asal
277 orang telah melayarinya

How to Retrieve and Structure Category Hierarchy in PHP/MySQL

Hierarki Kategori dalam PHP/MySQL

Dalam senario ini, kami berhasrat untuk mendapatkan semula perwakilan hierarki kategori dan subkategori daripada MySQL pangkalan data. Objektif kami adalah untuk menstruktur data dalam format bersarang yang mencerminkan hierarki sebenar dalam pangkalan data.

Untuk mencapai matlamat ini, kami memanfaatkan model senarai bersebelahan, yang membolehkan kami menjana hierarki dalam satu laluan. Kami menggunakan skrip PHP untuk memproses data dan membina perwakilan hierarki.

Langkah pertama melibatkan pertanyaan pangkalan data untuk mendapatkan semula kategori dan subkategori berserta perhubungan ibu bapa-anak masing-masing. Setelah data diambil, kami membuat tatasusunan rujukan untuk akses pantas.

Seterusnya, kami mengulangi data yang diambil dan mengisi tatasusunan rujukan. Kami mengenal pasti kategori akar (parent_id = 0) dan menambahkannya pada tatasusunan senarai. Untuk subkategori, kami menambahkannya sebagai kanak-kanak kepada kategori induk yang sepadan dalam tatasusunan rujukan.

Untuk menjana output hierarki, kami mentakrifkan fungsi rekursif, toUL(), yang merentasi tatasusunan rujukan dan membina senarai tidak tertib HTML bersarang (UL). Fungsi ini mengambil tatasusunan sebagai input dan mencipta elemen UL.

Dalam fungsi itu, kami mengulangi tatasusunan dan mencipta elemen LI (item senarai) untuk setiap kategori. Jika kategori mempunyai anak, kami secara rekursif memanggil fungsi toUL() untuk membina subtree. Fungsi ini mengembalikan perwakilan HTML yang dibina bagi hierarki.

Kaedah ini membolehkan kami mewakili hierarki kategori dengan cekap dan tepat dalam bentuk bersarang, yang boleh dipaparkan dengan mudah sebagai dokumen HTML atau digunakan untuk pemprosesan selanjutnya.

Atas ialah kandungan terperinci Cara Mendapatkan dan Menstrukturkan Hierarki Kategori dalam PHP/MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan