쇼핑몰 상품분류 다이나믹 로딩?
쇼핑몰 개발 작업 중에 상품 분류 부분에서 DB에 저장된 분류를 AJAX를 이용해 선택한 분류의 해당 하위 분류만
출력하도록 코드를 만들었다. jQuery load()를 이용해서 간단하게 구현했다. 물론 많은 시행 착오를 거치긴 했지만..
var ca_id = $(this).val();
$(‘div#ltCA_2 select’).load(
‘<?=$g4[admin_path]?>/item/item_category2.php’,
{ ca_id: ca_id }
);
});
1차 분류를 선택하면 선택된 분류의 코드를 읽어 DB에서 해당 하위 분류를 html 형식으로 만들어서 전달한다.
이 내용은 2차 분류의 select 안 쪽으로 들어가게 된다.
include_once(“./_common.php”);
if(!$ca_id) {
echo ” <option value=””>2차 분류</option>n”;
exit;
}
// 2차 분류
$sql = ” select ca_code, ca_name
from $g4[shop_category_table]
where ca_use = ‘1’ and substr(ca_code, 1, 3) = ‘$ca_id’ and char_length(ca_code) = 5
order by ca_code asc “;
$result = sql_query($sql);
$ca_2 = “”;
$ca_2 .= ” <option value=””>2차 분류</option>n”;
for($i = 0; $ca = sql_fetch_array($result); $i++) {
$ca_2 .= “<option value=”$ca[ca_code]”>$ca[ca_name]</option>n”;
}
if($i == 0) {
echo ” <option value=””>2차 분류</option>n”;
} else {
echo $ca_2;
}
?>
DB에서 select 부분에 들어갈 리스트를 만드는 부분이다.