4. パス追跡
-------------------------------------- --- ---------------
分類の作成と実装方法は以前紹介しましたが、2つの情報格納分類パスであるrout_idとrout_charは何も付けずに分類テーブルに記録されます。この場合、プログラムは一番下のカテゴリまで順番に進むことしかできず、戻ることはできません(もちろんブラウザの戻るキーで戻ることはできますが、プログラムとしては不完全です)。および rout_char を分解する必要があります。
データベースにそのような分類情報が記録されている場合の具体的な方法:
id:4
uid:2
type: 開発ツール
rout_id:0:1:2:4
rout_char: system: linux: 開発ツール
プログラムが「開発ツール」カテゴリに移動すると、パス情報を表示するだけでなく、パス上の任意のカテゴリに移動できることも必要になります。これはどのようにすればよいでしょうか。ここでは、explode() 関数を使用する必要があります。 rout_id と rout_char は対応しているため、分解できます:
$path_gb=explode(":",$rout_char) ;
これですべての分類情報が分解されました。次に行う必要があるのは、リンクの形式でパス情報を復元することです。 1;
echo "< a
href=$php_self?func=showtype&uid=",$path[$a],">",$path_gb[$i],":"; (empty($path_gb[$ i])) {
break;
}
}
上記のコードは、無限分類を実装しているため、上限がありません。 $i=0;$i++)、ループ終了の条件は $path_gb[$i] の値が空であることです:
. ....
....
//カテゴリを表示********************************* ****** *************
if ($func=='showtype'):
echo "
"; for ($i=0;;$i++) { $a=$i+1; echo "href=$php_self?func=showtype&uid=",$path[$a],">",$path_gb[$i],":"; if (empty($path_gb[$i])) { break; } } echo " |
创建分类 |
$type |
"; echo "$type"; echo " |