Главная » PHP » Как создать идентификатор родителя, а затем заставить ребенка ссылаться на него в многопоточной системе комментирования?
Как создать идентификатор родителя, а затем заставить ребенка ссылаться на него в многопоточной системе комментирования?
Я пытаюсь создать систему комментирования, в которой можно делать комментарии, и люди могут отвечать на комментарии на более глубоком уровне (например, reddit). Я немного понимаю, как Child ссылается на Parent ID, чтобы он мог отображаться под родителем, но как вы на самом деле создаете Parent ID, а затем получаете этот ID для ссылки на ребенка?
Вот пример того, что я хочу:
Main Comment
Reply to Main Comment
Reply to Main Comment
Reply to Child Comment
Reply to Child Child Comment
Reply to Main Comment
Main Comment
И я понимаю, что глубина будет
0
1
1
2
3
1
0
Но как мне назначить идентификатор родителя, чтобы первый главный комментарий был, скажем, AAA, а второй основной комментарий — AAB, и так далее?
Parent
- New Comment
- This comments parent is "New Comment"- This comments parent is "New Comment"- This Comments parent is "Parent"
Родитель — это «в основном» комментарий внутри себя, просто больше доступа к форматированию.
0
Другие решения
Во-первых, вы хотите настроить структуру таблицы. На сайте, который я реализовал, таблицы имели такие важные поля, как, name, content, emailи т. д. Кроме того, он имел parent_id поле, которое может ссылаться на другой комментарий в таблице. Это поле NULL когда комментарий на верхнем уровне.
В моем сценарии PHP он будет запрашивать все комментарии, которые имели parent_id = NULLа именно только комментарии на верхнем уровне. Затем, просматривая все комментарии верхнего уровня, я запрашивал любые комментарии с parent_id равный id комментария, который я просматривал. Тогда я бы придал ему стиль с отступом.
Ваш псевдокод будет выглядеть так:
// Query for comments
while ($comment = mysqli_fetch_array($comments)) {
// Render top level comment
// Query for sub-level comments with parent_id of $comment
while ($subcomments = mysqli_fetch_array($subcomments)) {
// Render sub-level comment
}
}
Я пытаюсь создать систему комментирования, в которой можно делать комментарии, и люди могут отвечать на комментарии на более глубоком уровне (например, reddit). Я немного понимаю, как Child ссылается на Parent ID, чтобы он мог отображаться под родителем, но как вы на самом деле создаете Parent ID, а затем получаете этот ID для ссылки на ребенка?
Вот пример того, что я хочу:
И я понимаю, что глубина будет
Но как мне назначить идентификатор родителя, чтобы первый главный комментарий был, скажем, AAA, а второй основной комментарий — AAB, и так далее?
Спасибо за любую помощь!
Решение
Родитель — это «в основном» комментарий внутри себя, просто больше доступа к форматированию.
Другие решения
Во-первых, вы хотите настроить структуру таблицы. На сайте, который я реализовал, таблицы имели такие важные поля, как,
name
,content
,email
и т. д. Кроме того, он имелparent_id
поле, которое может ссылаться на другой комментарий в таблице. Это полеNULL
когда комментарий на верхнем уровне.В моем сценарии PHP он будет запрашивать все комментарии, которые имели
parent_id = NULL
а именно только комментарии на верхнем уровне. Затем, просматривая все комментарии верхнего уровня, я запрашивал любые комментарии сparent_id
равныйid
комментария, который я просматривал. Тогда я бы придал ему стиль с отступом.Ваш псевдокод будет выглядеть так: