このコードがルート カテゴリの ID を取得できない理由を見つけるのを手伝ってください。緊急!
/*
* サブクラス ID に基づいてルート クラスを取得します
*/
function get_root_class($classId) {
global $db, $lot_array;
$class = $ db- >fetch_first("SELECT pid, name FROM new_infor_class WHERE id = $classId");
if ($class['pid'] != 0) {
get_root_class($class['pid'] );
} else {
return $class['name'];
}
}
分類は無限分類に従って設定されているため、返されるのは $ の分類名ですクラスID、本当にわかりません。誰か助けてください!
-----解決策---------
さて、テスト環境をセットアップしましょう
-- -- テーブル構造 `tree` -- `tree` が存在しない場合はテーブルを作成 ( `id` int(11) NOT NULL AUTO_INCREMENT、 `pid` int(11) デフォルト NULL、 `name` varchar(10) デフォルト NULL、 主キー (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5; -- -- テーブル `tree` 内のデータをダンプします。 -- INSERT INTO `tree` (`id`, `pid`, `name`) 値 (1、0、'a')、 (2、1、「b」)、 (3、2、「c」)、 (4, 3, 'd'); <div class="clear"></div>