나는 세 개의 열이있는 테이블이 있습니다 : id
, ref
및 catName
입니다. 모든 행에는 하위 카테고리가 될 수있는 카테고리가 포함됩니다. 그렇다면 기본 카테고리의 ID에 대한 ref
컬럼 참조보다. 물론이 방법을 사용하면 수많은 하위 카테고리를 만들 수 있습니다.조건이 충족 될 때까지 php 메서드를 실행하십시오.
이제 모든 부모 중 catName
명이 포함 된 모든 카테고리에 대해 URL을 만들고 싶습니다.
private function getCatUrl($cat, $ur = array()){
$sql = "SELECT * FROM shop_cat WHERE id = :id LIMIT 1";
$st = $this->db->prepare($sql);
$st->bindParam('id', $cat, PDO::PARAM_INT);
$st->execute();
$rij = $st->Fetch();
$ur[] = urlencode($rij['naam']);
if($rij['ref'] == 0){
//Done, I've reached the top parent;
return implode('/',$ur);
}else{
//there is a parent/reference above this level
//getting there
$this->getCatUrl($rij['ref'], $ur);
}
}
어쨌든 이것은 상위 상위 항목에만 $ ur를 생성하고 하위 항목에는 $ ur가 생성되지 않습니다. 내가 뭘 잘못하고 있니? 데이터베이스의
샘플 :
id ref catName
1 0 GroundFloor
4 1 Portal
5 1 Stairs
2 0 FirstFloor
6 2 DiningArea
12 6 Chair
7 2 Toilet
9 2 SittingRoom
10 9 Couch
11 9 Dresser
3 0 Roof
8 3 LoungeChair
DB의 데이터 예제를 포함 할 수 있습니까? 그리고 당신이이 함수를 호출하는 방법의 예 (즉, 어떤 params) – ManseUK