J'ai un système de commentaire contenant des commentaires de haut niveau, et chacun de ceux-ci peut avoir un niveau d'infinité de commentaires de réponse. J'essaie d'obtenir une liste de tous les identifiants de commentaire dans la commande décroissante dans un tableau.
Le code PHP / SQL fonctionne bien lorsque je viens d'echo les résultats. Cependant, je voudrais finir par la liste des commentaires dans le bon ordre dans un tableau. Il semble que la variable de matrice est passée à travers les routines récursives, elle échoue. Je comprends que ceci soit un problème de portée variable dans la récursion PHP. P>
Quel est le travail autour de ce que je veux pour obtenir ce que je veux? P>
My Code: P>
comment_id comment parent post_id
3 Réponses :
Veuillez essayer ceci>
N'a pas bien fonctionné. À l'envers et les niveaux ultérieurs manquants et pas tout à fait juste. Les résultats sont sortis comme: 230: {0: "235", 1: "231"}, 236: {}, 237: {0: "291", 1: "238"}, 240: {0: "290" }, 241: {0: "292", 1: "289", 2: "283"}, 244: {0: "304", 1: "293", 2: "288", 3: "286" , 4: "285", 5: "284", 6: "282", 7: "281", 8: "279"}, 294: {}, 295: {0: "296"}
J'ai trouvé un travail autour d'une variable de table de session. Il persiste à travers les fonctions récursives. Code ajusté:
Voici une seule réursion de boucle pour obtenir des messages
et une autre boucle de recueil pour montrer dans le résultat de la liste
recueil de protection (maximum 40 postes)
Code complet du travail
$ base de données utilisée dans le global pour éviter une grande pile
(J'ajoute un commentaire de champ (string) Vous pouvez supprimer ou remplacer-celui-ci, c'était pour but de test)
Avez-vous seulement un enregistrement avec COMMENT_ID = 0?
Non, il peut y avoir plusieurs parents avec parent = 0. Dites par exemple que quelqu'un pose une vidéo. Les commentaires directement à la publication seront au parent = 0. Les réponses aux commentaires auront des parents = le commentaire_id ... Activation des réponses de nidification ou de hiérarchie.