Maison  >  Article  >  base de données  >  Implémentation du code de la classification infinie dans MySQL

Implémentation du code de la classification infinie dans MySQL

不言
不言original
2018-08-20 16:34:002742parcourir

Le contenu de cet article concerne l'implémentation du code de la classification Infinitus dans MySQL. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Je l'ai également trouvé ailleurs. Après l'avoir analysé, je l'ai trouvé plutôt bon, j'aimerais donc le partager ici.

Impossible de publier la photo, le problème ne peut être résolu que simplement : Actualités                                                                                              0-1

3                                                                                                                                                                                                                                                                                                                                        0-1-2                                                  🎜>Une déclaration pour y parvenir :

SELECT id,name,pid,path,concat(path,'-',id) AS newpath FROM cates ORDER BY newpath

Résultat après requête :

id                                                                                       Actualités                                                        Actualités chinoises 1 0-1 0-1-2

4 Pékin Nouvelles 2 0-1- 2                                                                                                                                                                                          5

On constate que la structure est très claire. Il utilise très intelligemment la fonction de tri de MySQL. Il utilise la fonction concat() pour connecter le chemin actuel avec l'identifiant actuel (je veux vraiment concaténer les chaînes. Il donne un alias newpath et trie newpath. Par coïncidence, il compare 0 en premier). lors du tri., Comparaison 1, Comparaison 2, Comparaison 3... De cette façon, les résultats de la requête sont directement triés par niveau. Ensuite, il vous suffit de boucler la sortie au premier plan, et l'"espace réservé de relation hiérarchique" peut également être. résolu.0-1-2-4 de newpath est équivalent à l'espace réservé Infinitus. Lors de la sortie de PHP, vous devez utiliser l'instruction ci-dessus pour l'interroger. La valeur du champ newpath de chaque élément de données est traitée en arrière-plan. est d'abord divisé en tableaux, puis en statistiques. Pour ce tableau, ajoutez un nombre de clés (un ensemble de données) au tableau et placez le nombre compté de tableaux dans cette clé.

thinkphp 5.0 par exemple :

Ce décompte est l'espace réservé pour la classification hiérarchique, puis bouclez-le dans le modèle et faites-le écho autant de fois que vous bouclez 

Effet :

Actualités

Actualités chinoises

                                                                                                                                                                                        🎜 >

Comment utiliser la récursivité pour obtenir une notation infinie dans le cadre TP5 (exemple de code)

<.>

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!

Déclaration:
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