我决定在数据库中添加parent_id列,而不是立即加入所有答复,而只是立即选择所有注释,以便稍后使用服务器端代码对这些注释和答复进行排序,这里是查询:
SELECt c.*, u.username, u.photoFROM (comments c)JOIN users u ON c.user_id = u.idWHERe c.topic_id = 9ORDER BY c.id ASC
现在,我将查询结果传递给以下函数,以便每个答复都将作为一个数组添加到注释数组中,因此基本上它返回一个多维数组。
function sort_comments($ar){ $comments = array(); foreach($ar as $item) { if(is_null($item['parent_id'])) $comments[] = $item; else { $parent_array = array_search_key($item['parent_id'],$comments,'id'); if($parent_array !== false) $comments[$parent_array]['replies'][] = $item; } } return $comments;}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)