Öncelikle veritabanından veri almak ve bir dizi oluşturmak
$q = mysql_query("SELECT catid, catname, parentid FROM cat");
$pages = array();
while($r = mysql_fetch_assoc($q)) {
$pages[$r['catid']] = array('catname' => $r['catname'], 'parentid' => $r['parentid']);
}
Kırıntıları oluşturmak için bir özyinelemeli işlevini kullanın:
function build_breadcrumbs($pages, $catid) {
if(is_null($catid) || empty($catid)) return;
return build_breadcrumbs($pages, $pages[$catid]['parentid']).$pages[$catid]['catname'].' > ';
}
Fonksiyonu mevcut kırıntıdaki + ebeveynin kırıntıları döndürür. Bu gibi işlevini kullanın:
$catid = 6;
$breadcrumbs = trim(build_breadcrumbs($pages, $catid), ' >');
echo $breadcrumbs;
Eğer daha fazla diziler gibi Ya da, bu gibi bir işlevi oluşturabilirsiniz:
function build_breadcrumbs($pages, $catid) {
if(is_null($catid) || empty($catid)) return array();
return array_merge(build_breadcrumbs($pages, $pages[$catid]['parent']), array($pages[$catid]['name']));
}
ve implode ile kullanabilirsiniz:
$catid = 6;
$breadcrumbs = implode(' > ', build_breadcrumbs($pages, $catid));
echo $breadcrumbs;
Bu size işlevin dışında ayırıcı tanımlamak için seçeneği sunar. Umut olur.