-1
votes

Récursion PHP et comment obtenir une variable de tableau pour maintenir la valeur dans l'appel récursif

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


2 commentaires

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.


3 Réponses :


-1
votes

Veuillez essayer ceci> xxx


1 commentaires

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"}



0
votes

J'ai trouvé un travail autour d'une variable de table de session. Il persiste à travers les fonctions récursives. Code ajusté: xxx


0 commentaires

0
votes

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) xxx


0 commentaires