簡単な記事分類表があります。主な構造は次のとおりです
ID | 保護者ID | タイトル |
---|---|---|
1 | 0 | 全商品 |
2 | 1 | PHP |
3 | 1 | Mysql |
4 | 2 | PHP について考える |
...
など。非常に一般的なディレクトリ構造であるはずです。つまり、
の第 3 レベルのディレクトリは次のようになります 所有项目
为一级、PHP
和Mysql
为其二级、ThinkPHP
为PHP
。
id=4
だけを知っているとします。たとえば、すべてのプロジェクト>>ThinkPHP code> をリストするにはどうすればよいですか。 <code>id=4
这么一个数据,请问我要如何列出例如所有项目 >> PHP >> ThinkPHP
このようなパンくずリストのナビゲーションはどうですか?
同様の質問への回答が見つかりませんでした。キーワードの使用方法が不十分だったのかもしれません。最後に質問せざるを得ませんが、温かいアドバイスをよろしくお願いします
保護者ID | タイトル | |
---|---|---|
0 | 全商品 | |
1 | PHP | |
1 | Mysql | |
2 | PHP について考える |
など。非常に一般的なディレクトリ構造であるはずです。つまり、
の第 3 レベルのディレクトリは次のようになります
。
所有项目
为一级、PHP
和Mysql
为其二级、ThinkPHP
为PHP
次に、データ id=4
だけを知っているとします。たとえば、
すべてのプロジェクト>>ThinkPHP code> をリストするにはどうすればよいですか。 <p>このようなパンくずリストのナビゲーションはどうですか? <code>id=4
这么一个数据,请问我要如何列出例如所有项目 >> PHP >> ThinkPHP
最も重要なアイデアは、新しいサブクラスを追加するときに親クラスのデータを保存することです。これは静的キャッシュの原理と似ています。
パンくずリスト (4 から 2 から 1) を使用する必要があるため、クエリと抽出のプロセスが必要になるため、他に方法はありません。
それは再帰を使用するか反復を使用するかによって決まります
カテゴリのレベル数が固定されている場合は、レベルごとに指定された SQL を記述して、コード レベルでのクエリのループによりパフォーマンスが無駄になりますが、コードの実装はシンプルで柔軟です
。
まず、Web サイトの階層ディレクトリ データを決定できます。これはそれほど多くはありません
データベースからすべてのデータを完全に取り出すことができます
それを再帰的に実行します。コードレベルでの操作によりデータベースクエリを削減します。
効率的な方法はあまり多くありませんが、キャッシュはその 1 つであるべきです
お誘いありがとうございます。一般に、この種の分類に対する変更は非常に小さく、
を使用してそれを走査し、後で使用するためにキャッシュすることができます。普段はこんな感じで使っています