我有mysql查询将所有父ID到子映射到数组中,然后我有一个函数来打印父ID的所有子id。
我现在要完成的是使用此函数获取每个回显子ID的用户名。 并且如果可能的话,在每个页面上对结果进行分页。
mysql查询+函数将ids映射到数组:
$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。
答案 0 :(得分:0)
重写您的查询以返回您需要的所有字段。对游标的每一行执行一个新查询不是解决方案,而是一种解决方法。