Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Membina Menu Pokok dengan Cekap dalam PHP dan MySQL dengan Satu Pertanyaan?
Membina Menu Pokok dalam PHP dan MySQL
Apabila cuba membina pepohon menu senarai tidak tersusun daripada pangkalan data MySQL dalam PHP, kecekapan prestasi adalah penting . Untuk mencapai matlamat ini, satu pertanyaan pangkalan data boleh digunakan dan rekursi boleh dielakkan.
Penyelesaian:
Fungsi PHP berikut mengambil tatasusunan objek halaman sebagai input, setiap satunya mengandungi ID, tajuk dan atribut ID induk. Ia secara rekursif menjana struktur senarai HTML melalui lintasan objek.
<code class="php">function build_menu($objects, $parent = 0) { $result = "<ul>"; foreach ($objects as $object) { if ($object['parent_id'] == $parent) { $result .= "<li>{$object['title']}"; if (has_children($objects, $object['id'])) { $result .= build_menu($objects, $object['id']); } $result .= "</li>"; } } $result .= "</ul>"; return $result; }</code>
Penggunaan:
Untuk menggunakan fungsi, susunan objek halaman boleh diambil semula daripada pangkalan data dan diluluskan sebagai hujah kepadanya. Fungsi ini akan mengembalikan struktur senarai HTML terformat yang mewakili pepohon menu.
<code class="php">$page_objects = get_page_objects_from_database(); $menu_html = build_menu($page_objects);</code>
Kecekapan Yang Dipertingkat:
Untuk kecekapan optimum, disyorkan untuk memesan keputusan menggunakan pertanyaan SQL. Ini memastikan bahawa objek diproses dalam urutan logik, meminimumkan perbandingan dan lelaran yang tidak perlu. Selain itu, lajur pemberat atau jujukan dalam skema pangkalan data boleh membantu dalam menyusun pokok menu.
Atas ialah kandungan terperinci Bagaimana untuk Membina Menu Pokok dengan Cekap dalam PHP dan MySQL dengan Satu Pertanyaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!