Cet article présente principalement l'écriture récursive PHP sur MySQL pour réaliser des opérations de classification illimitées des données, impliquant la création d'une base de données mysql et des compétences opérationnelles liées à l'écriture et à la lecture récursives PHP. Les amis dans le besoin peuvent s'y référer
. L'exemple de cet article décrit l'écriture récursive de PHP sur MySQL pour réaliser des opérations de classification illimitées sur les données. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
PHP écrit récursivement des données de classification illimitées sur MySQL, structure de table :
CREATE TABLE `kepler_goods_category` ( `id` int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT, `parentid` int unsigned NOT NULL default 0 comment '父级分类ID', `name` varchar(255) NOT NULL default '' comment '分类名称', `kepler_fid` int unsigned NOT NULL default 0 comment '对应开普勒分类ID', `create_time` timestamp NOT NULL default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Code d'écriture de méthode récursive :
static public function addCategoryFromKepler($fid, $parentid = 0){ $category_list = Kepler::queryGoodsCategoryList($fid); // 获取数据 $category_list = $category_list['jd_kepler_item_querycategoriesbyfid_response']; if($category_list['total'] > 0){ foreach ($category_list['categories'] as $key => $value) { $parentid_sub = KeplerCategory::addCategory($value['name'], $value['id'], $parentid); // 插入数据库,得到父ID self::addCategoryFromKepler($value['id'], $parentid_sub); // 递归 } } return true; }
Code d'appel :
KeplerCategory::addCategoryFromKepler(0);
Code de lecture de méthode récursive :
static public function getCategoryFormatToKepler($parentid, $format_data = array(), $parent_prefix = '', $current_prefix = ''){ $category_list = self::getCategoryByParentid($parentid); // 根据父ID获取 if(!empty($category_list)){ foreach ($category_list as $key => $value) { $format_data = self::getCategoryFormatToKepler($value['id'], $format_data, $parent_prefix . ',' . $current_prefix, $value['kepler_fid']); } }else{ $format_data[] = trim($parent_prefix . ',' . $current_prefix, ','); } return $format_data; }
Code d'appel :
$category_list = KeplerCategory::getCategoryFormatToKepler(0);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!