在MySQL 資料庫中,您可以將層次結構資料儲存在名為categories 的表中,其中包含category_id 和parent_id列。若要使用PHP 以分層結構擷取此數據,請依照下列步驟操作:
從資料庫取得資料:
使用SQL 查詢資料庫中取得資料:
<code class="php">$sql = "SELECT category_id, parent_id, name FROM categories ORDER BY name"; $result = $pdo->query($sql);</code>
建立引用數組:
<code class="php">$refs = array(); $list = array(); foreach ($result as $row) { $ref = &$refs[$row['category_id']]; $ref['parent_id'] = $row['parent_id']; $ref['name'] = $row['name']; if ($row['parent_id'] == 0) { $list[$row['category_id']] = &$ref; } else { $refs[$row['parent_id']]['children'][$row['category_id']] = &$ref; } }</code>
產生巢狀 HTML 清單:
<code class="php">function toUL(array $array) { $html = '<ul>' . PHP_EOL; foreach ($array as $value) { $html .= '<li>' . $value['name']; if (!empty($value['children'])) { $html .= toUL($value['children']); } $html .= '</li>' . PHP_EOL; } $html .= '</ul>' . PHP_EOL; return $html; }</code>
顯示層次結構:
以上是如何在 PHP 中以嵌套 HTML 形式從 MySQL 資料庫檢索分層資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!