không tốt khi gọi máy chủ mysql và tìm nạp kết quả mỗi lần
điều gì sẽ xảy ra nếu bạn có hơn 100 hàng? hoặc hơn 200
chỉ sử dụng cái này để truy vấn một lần:
$result = mysql_query("SELECT * FROM test");
$arrs = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$arrs[] = $row;
}
function build_tree($arrs, $parent_id=0, $level=0) {
foreach ($arrs as $arr) {
if ($arr['parent_id'] == $parent_id) {
echo str_repeat("-", $level)." ".$arr['name']."<br />";
build_tree($arrs, $arr['id'], $level+1);
}
}
}
build_tree($arrs);
ví dụ chung cho bảng
id name parent_id