子信息調用父信息
這里演示的調用代碼,都是直接用php代碼書寫。這種調用方式更靈活,效率更高。
1、典型的應用例子
(1)小說網站中:章節頁 調用 書籍信息
(2)劇情網站中:劇情頁 調用 電視劇信息
(3)游戲網站中:攻略頁 調用 游戲信息
(4)新聞網站中:內容頁 調用 多個TAG
2、調用代碼
(1)一般將此段代碼放在模板頂部,在模板中間相應位置用?<?=$astr?>?顯示父信息
(2)代碼中?limit 100?表示最多調用100個,數字范圍0~999999。在明確只有1個父信息時,寫為1,可以提高效率。
(3)子信息id 和 子信息classid 在不同頁面中取值方法不同,下面是在內容頁中的取值方法。可以根據實際應用來修改。
<?php //子信息id $zi_id=$navinfor[id]; //子信息classid $zi_classid=$navinfor[classid]; $astr=''; $sqlb=$empire->query("select tagid from {$dbtbpre}moretags_子信息所在數據表名_關聯字段名 where classid='$zi_classid' and id='$zi_id' limit 100"); while($rb=$empire->fetch($sqlb)){ $rr=$empire->fetch1("select id,classid,title,titleurl from {$dbtbpre}ecms_moretags where id='$rb[tagid]' limit 1"); if($rr['id']){ $astr.='<a href="'.$rr['titleurl'].'" title="'.$rr['title'].'" target="_blank">'.$rr['title'].'</a> '; } } ?>
父信息調用子信息
這里演示的調用代碼,都是直接用php代碼書寫。這種調用方式更靈活,效率更高。
1、典型的應用例子
(1)小說網站中:小說頁 調用 章節
(2)劇情網站中:電視劇頁 調用 劇情
(3)新聞網站中:tag 調用 子信息
2、調用代碼
此段代碼放在模板頂部,在模板中間相應位置用?<?=$bstr?>?顯示多個父信息。下面代碼中?100?表示最多調用100個,可以自行修改別的數字0~99999。
<?php //父信息id $fuid=$navinfor['id']; $ccstr=''; $sqlcc=$empire->query("select id,classid from {$dbtbpre}moretags_子信息所在數據表名_關聯字段名 where tagid='$fuid' order by newstime limit 99999"); while($ccr=$empire->fetch($sqlcc)){ $rr=$empire->fetch1("select id,title,titleurl from {$dbtbpre}ecms_".$class_r[$ccr['classid']]['tbname']." where id='$ccr[id]' limit 1"); if($rr['id']){ $ccstr.='<a href="'.$rr['titleurl'].'" title="'.$rr['title'].'">'.$rr['title'].'</a> '; } } ?>
子信息調用父信息的全部子信息
子信息調用父信息的全部子信息,就是將?子信息調用父信息?和?父信息調用子信息?代碼結合起來。
<?php //子信息id $zi_id=$navinfor[id]; //子信息classid $zi_classid=$navinfor[classid]; $allstr=''; $sqlb=$empire->query("select tagid from {$dbtbpre}moretags_子信息所在數據表名_關聯字段名 where classid='$zi_classid' and id='$zi_id' limit 100"); while($rb=$empire->fetch($sqlb)){ $rrb=$empire->fetch1("select id,classid,title,titleurl from {$dbtbpre}ecms_moretags where id='$rb[tagid]' limit 1"); if($rrb['id']){ //第一層循環 至此調用出來了父信息id //父信息id $fuid=$rrb['id']; $sqlcc=$empire->query("select id,classid from {$dbtbpre}moretags_子信息所在數據表名_關聯字段名 where tagid='$fuid' order by newstime limit 99999"); while($ccr=$empire->fetch($sqlcc)){ //第二層循環 調用當前父信息下的其它子信息 $rr2=$empire->fetch1("select id,title,titleurl from {$dbtbpre}ecms_".$class_r[$ccr['classid']]['tbname']." where id='$ccr[id]' limit 1"); if($rr2['id']){ $allstr.='<a href="'.$rr2['titleurl'].'" title="'.$rr2['title'].'">'.$rr2['title'].'</a> '; } } } } echo $allstr; ?>