4. パス追跡---------------------------------------------- --- ------------- 分類の作成と実装方法は以前紹介しましたが、rout_id と rout_char という 2 つの情報格納分類パスは、何も処理せずに分類テーブルに記録されます。順番に一番下のカテゴリに進むことしかできず、戻ることはできません(もちろん、ブラウザの戻るキーを使用して戻ることはできますが、これはプログラムとしては不完全です)。そのため、rout_id と rout_char の情報を分解して完全にする必要があります。具体的な方法は、データベースに次のような分類情報が記録されている場合です。 id:4 uid:2 type: 開発ツール rout_id:0:1:2:4 rout_char: system: linux: 開発ツール プログラムが到達したとき。カテゴリの開発 ツールを使用するときは、パス情報を表示するだけでなく、パス上の任意のカテゴリに移動できるようにする必要もあります。ここでは、explode() 関数を使用する必要があります。 rout_char は対応しているので、分解できます。 $path=explode(":",$rout_id); $path_gb=explode(":",$rout_char); この時点で、すべての分類情報が分解されています。ここで行う必要があるのは、リンクの形式で復元することです パス情報: for ($i=0;;$i++) { $a=$i+1; echo "",$path_gb[$i],": "; if (empty($path_gb[$i])) { Break; } } 上記のコードは、リンクを追加してパスを復元する機能を実装しています。無限分類を実装しているため、上限がなく、範囲制限はありませんin for($i=0;;$i++) ループ終了を設定する条件は、$path_gb[$i] の値が空であることです。次のコードをカテゴリ表示レイアウトのプログラム ブロックに挿入するだけです。この機能ブロックを完了すると、引き続きカテゴリ情報を表示できます... ..... ..... //显示分类************************************************ if ($func==showtype): echo ""; //判断分类的状态 if ($uid!=0) { $result=mysql_query("select * from type where id=$uid"); $type=mysql_result($result,0,"type"); //******** 新加入的代码 *************** $rout_id=mysql_result($result,0,"rout_id"); $rout_char=mysql_result($result,0,"rout_char"); $path=explode(":",$rout_id); $path_gb=explode(":",$rout_char); echo ""; for ($i=0;;$i++) { $a=$i+1; echo "",$path_gb[$i],":"; if (empty($path_gb[$i])) { break; } } echo ""; //******** end *********************** } else { $type=父分类; } echo "创建分类"; echo "$type"; $result=mysql_query("select * from type where uid=$uid"); $num=mysql_numrows($result); if (!empty($num)) { for ($i=0;$i