0
我有一个mysql查询获取所有的父ID到子地图到一个数组,然后我有一个函数打印出所有的ID为父ID的子ID。在树结构中的递归php mysql巨大的查询
我现在想要完成的是使用此函数获取每个回显的子id的用户名。 并在可能的情况下对每个页面上的结果进行分页。
MySQL查询+函数来获取ID,以孩子的映射到数组:
$res = $db->query('SELECT p.id AS parent, GROUP_CONCAT(c.id) AS children
FROM rev_r_clients AS p
JOIN rev_r_clients AS c ON c.parent_client_id = p.id
GROUP BY p.id');
$parents = Array();
while($row = $res->fetch_assoc()) {
$parents[$row['parent']] = explode(',',$row['children']);
}
现在,打印出来的孩子一个特定的父ID的功能:
function subtree($id, $parents) {
echo $id;
echo ' <br> ';
if (isset($parents[$id]))
foreach ($parents[$id] as $child)
{
subtree($child, $parents);
}
现在,任何想法如何从另一个MYSQL表(rev_users) 获取用户名,并在可能的情况下对每个页面上的结果进行分页?
无法为每一行进行查询,因为结果是巨大的,每个父ID的数千个子ID。
我有成千上万的大多数父母id的孩子ID,查询每一行会让事情变得疯狂:D – user3117183
是的,这是我的观点。所以,创建JOIN只有1个查询需要渲染所需的所有字段。 – sdespont
那是怎么回事?你能写出例子吗?我需要rev_users表中的用户名字段,然后使用回显的子ID进行打印 – user3117183