PHP écrit récursivement sur MySQL pour implémenter des compétences d'opération de données de classification de niveau infini example_php

无忌哥哥
Libérer: 2023-04-03 06:52:01
original
2501 Les gens l'ont consulté

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;
Copier après la connexion

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;
}
Copier après la connexion

Code d'appel :

KeplerCategory::addCategoryFromKepler(0);
Copier après la connexion

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;
}
Copier après la connexion

Code d'appel :

$category_list = KeplerCategory::getCategoryFormatToKepler(0);
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal