PHP Mysql无限循环时的多级用户组

PHP Mysql无限循环时的多级用户组,php,mysql,multi-level,mlm,Php,Mysql,Multi Level,Mlm,我想创建一个多级用户脚本,下面的代码可以工作,但只显示一个用户线程。我的目标是显示每个人的所有用户,每个组中至少有3个子用户 我有这个: Maximo Eladio - Jose Anibal - Juan De Dios - Pedro David - Luis Alberto - Henry - Eury Alexander (0)Maximo Eladio - (1)Jose Anibal - (2)Juan De Dio

我想创建一个多级用户脚本,下面的代码可以工作,但只显示一个用户线程。我的目标是显示每个人的所有用户,每个组中至少有3个子用户

我有这个:

Maximo Eladio
- Jose Anibal
  - Juan De Dios
    - Pedro David
      - Luis Alberto
        - Henry
          - Eury Alexander 
(0)Maximo Eladio
- (1)Jose Anibal
  - (2)Juan De Dios
    - (3)Pedro David
      - (4)Luis Alberto
        - (5)Henry
          - (6)Eury Alexander 

(1)Jose Anibal
  - (2)Juan De Dios
    - (3)Pedro David
      - (4)Luis Alberto
        - (5)Henry
          - (6)Eury Alexander 

(2)Juan De Dios
    - (3)Pedro David
      - (4)Luis Alberto
        - (5)Henry
          - (6)Eury Alexander 

(3)Pedro David
      - (4)Luis Alberto
        - (5)Henry
          - (6)Eury Alexander  

(4)Luis Alberto
    - (5)Henry
       - (6)Eury Alexander 
$sql = "SELECT * FROM t_usuarios ";
$results = mysqli_query($con,$sql) or die(mysqli_error()) ;
if($results)
{
    while($result = mysqli_fetch_array($results))
    {
        $category['categories'][$result['id']] = $result; 
        $category['parent_cats'][$result['id_referido']][] = $result['id']; 
    }
}

function getCategories($parent, $category) 
{
    $html = "";
    if (isset($category['parent_cats'][$parent]))
    {
        $html .= "<ul>\n";
        foreach ($category['parent_cats'][$parent] as $cat_id)
        {
            if (!isset($category['parent_cats'][$cat_id]))
            {
              $html .= "<li>*".$category['categories'][$cat_id]['nombres']."</li> \n";
            }
            if (isset($category['parent_cats'][$cat_id]))
            {
              $html .= "<li>". $category['categories'][$cat_id]['nombres'] . " \n";
              $html .= getCategories($cat_id, $category);
              $html .= "</li> \n";
            }
        }
        $html .= "</ul> \n";
    }
    return $html;
}

    echo $data['category'] = getCategories(0, $category);
$results2 = mysql_query( "SELECT * FROM t_usuarios ORDER BY id ASC", $link );
while ( $tagrow = mysql_fetch_array( $results2 )){

$sql = "SELECT * FROM t_usuarios WHERE id=".$tagrow["id"]."";
$results = mysqli_query($con,$sql) or die(mysqli_error()) ;
if($results)
{
    while($result = mysqli_fetch_array($results))
    {
        $category['categories'][$result['id']] = $result; 
        $category['parent_cats'][$result['id_referido']][] = $result['id']; 
    }
}

function getCategories($parent, $category) 
{
    $html = "";
    if (isset($category['parent_cats'][$parent]))
    {
        $html .= "<ul>\n";
        foreach ($category['parent_cats'][$parent] as $cat_id)
        {
            if (!isset($category['parent_cats'][$cat_id]))
            {
              $html .= "<li>*".$category['categories'][$cat_id]['nombres']."</li> \n";
            }
            if (isset($category['parent_cats'][$cat_id]))
            {
              $html .= "<li>". $category['categories'][$cat_id]['nombres'] . " \n";
              $html .= getCategories($cat_id, $category);
              $html .= "</li> \n";
            }
        }
        $html .= "</ul> \n";
    }
    return $html;
}

    echo $data['category'] = getCategories(0, $category);
}

但我想要这个:

Maximo Eladio
- Jose Anibal
  - Juan De Dios
    - Pedro David
      - Luis Alberto
        - Henry
          - Eury Alexander 
(0)Maximo Eladio
- (1)Jose Anibal
  - (2)Juan De Dios
    - (3)Pedro David
      - (4)Luis Alberto
        - (5)Henry
          - (6)Eury Alexander 

(1)Jose Anibal
  - (2)Juan De Dios
    - (3)Pedro David
      - (4)Luis Alberto
        - (5)Henry
          - (6)Eury Alexander 

(2)Juan De Dios
    - (3)Pedro David
      - (4)Luis Alberto
        - (5)Henry
          - (6)Eury Alexander 

(3)Pedro David
      - (4)Luis Alberto
        - (5)Henry
          - (6)Eury Alexander  

(4)Luis Alberto
    - (5)Henry
       - (6)Eury Alexander 
$sql = "SELECT * FROM t_usuarios ";
$results = mysqli_query($con,$sql) or die(mysqli_error()) ;
if($results)
{
    while($result = mysqli_fetch_array($results))
    {
        $category['categories'][$result['id']] = $result; 
        $category['parent_cats'][$result['id_referido']][] = $result['id']; 
    }
}

function getCategories($parent, $category) 
{
    $html = "";
    if (isset($category['parent_cats'][$parent]))
    {
        $html .= "<ul>\n";
        foreach ($category['parent_cats'][$parent] as $cat_id)
        {
            if (!isset($category['parent_cats'][$cat_id]))
            {
              $html .= "<li>*".$category['categories'][$cat_id]['nombres']."</li> \n";
            }
            if (isset($category['parent_cats'][$cat_id]))
            {
              $html .= "<li>". $category['categories'][$cat_id]['nombres'] . " \n";
              $html .= getCategories($cat_id, $category);
              $html .= "</li> \n";
            }
        }
        $html .= "</ul> \n";
    }
    return $html;
}

    echo $data['category'] = getCategories(0, $category);
$results2 = mysql_query( "SELECT * FROM t_usuarios ORDER BY id ASC", $link );
while ( $tagrow = mysql_fetch_array( $results2 )){

$sql = "SELECT * FROM t_usuarios WHERE id=".$tagrow["id"]."";
$results = mysqli_query($con,$sql) or die(mysqli_error()) ;
if($results)
{
    while($result = mysqli_fetch_array($results))
    {
        $category['categories'][$result['id']] = $result; 
        $category['parent_cats'][$result['id_referido']][] = $result['id']; 
    }
}

function getCategories($parent, $category) 
{
    $html = "";
    if (isset($category['parent_cats'][$parent]))
    {
        $html .= "<ul>\n";
        foreach ($category['parent_cats'][$parent] as $cat_id)
        {
            if (!isset($category['parent_cats'][$cat_id]))
            {
              $html .= "<li>*".$category['categories'][$cat_id]['nombres']."</li> \n";
            }
            if (isset($category['parent_cats'][$cat_id]))
            {
              $html .= "<li>". $category['categories'][$cat_id]['nombres'] . " \n";
              $html .= getCategories($cat_id, $category);
              $html .= "</li> \n";
            }
        }
        $html .= "</ul> \n";
    }
    return $html;
}

    echo $data['category'] = getCategories(0, $category);
}

这实际上是我的代码:

Maximo Eladio
- Jose Anibal
  - Juan De Dios
    - Pedro David
      - Luis Alberto
        - Henry
          - Eury Alexander 
(0)Maximo Eladio
- (1)Jose Anibal
  - (2)Juan De Dios
    - (3)Pedro David
      - (4)Luis Alberto
        - (5)Henry
          - (6)Eury Alexander 

(1)Jose Anibal
  - (2)Juan De Dios
    - (3)Pedro David
      - (4)Luis Alberto
        - (5)Henry
          - (6)Eury Alexander 

(2)Juan De Dios
    - (3)Pedro David
      - (4)Luis Alberto
        - (5)Henry
          - (6)Eury Alexander 

(3)Pedro David
      - (4)Luis Alberto
        - (5)Henry
          - (6)Eury Alexander  

(4)Luis Alberto
    - (5)Henry
       - (6)Eury Alexander 
$sql = "SELECT * FROM t_usuarios ";
$results = mysqli_query($con,$sql) or die(mysqli_error()) ;
if($results)
{
    while($result = mysqli_fetch_array($results))
    {
        $category['categories'][$result['id']] = $result; 
        $category['parent_cats'][$result['id_referido']][] = $result['id']; 
    }
}

function getCategories($parent, $category) 
{
    $html = "";
    if (isset($category['parent_cats'][$parent]))
    {
        $html .= "<ul>\n";
        foreach ($category['parent_cats'][$parent] as $cat_id)
        {
            if (!isset($category['parent_cats'][$cat_id]))
            {
              $html .= "<li>*".$category['categories'][$cat_id]['nombres']."</li> \n";
            }
            if (isset($category['parent_cats'][$cat_id]))
            {
              $html .= "<li>". $category['categories'][$cat_id]['nombres'] . " \n";
              $html .= getCategories($cat_id, $category);
              $html .= "</li> \n";
            }
        }
        $html .= "</ul> \n";
    }
    return $html;
}

    echo $data['category'] = getCategories(0, $category);
$results2 = mysql_query( "SELECT * FROM t_usuarios ORDER BY id ASC", $link );
while ( $tagrow = mysql_fetch_array( $results2 )){

$sql = "SELECT * FROM t_usuarios WHERE id=".$tagrow["id"]."";
$results = mysqli_query($con,$sql) or die(mysqli_error()) ;
if($results)
{
    while($result = mysqli_fetch_array($results))
    {
        $category['categories'][$result['id']] = $result; 
        $category['parent_cats'][$result['id_referido']][] = $result['id']; 
    }
}

function getCategories($parent, $category) 
{
    $html = "";
    if (isset($category['parent_cats'][$parent]))
    {
        $html .= "<ul>\n";
        foreach ($category['parent_cats'][$parent] as $cat_id)
        {
            if (!isset($category['parent_cats'][$cat_id]))
            {
              $html .= "<li>*".$category['categories'][$cat_id]['nombres']."</li> \n";
            }
            if (isset($category['parent_cats'][$cat_id]))
            {
              $html .= "<li>". $category['categories'][$cat_id]['nombres'] . " \n";
              $html .= getCategories($cat_id, $category);
              $html .= "</li> \n";
            }
        }
        $html .= "</ul> \n";
    }
    return $html;
}

    echo $data['category'] = getCategories(0, $category);
}
$sql=“选择*fromtu usuarios”;
$results=mysqli_query($con,$sql)或die(mysqli_error());
如果(结果)
{
而($result=mysqli\u fetch\u数组($results))
{
$category['categories'][$result['id']]=$result;
$category['parent_cats'][$result['id_refereido']][=$result['id'];
}
}
函数getCategories($parent$category)
{
$html=“”;
if(isset($category['parent_cats'][$parent]))
{
$html.=“
    \n”; foreach($category['parent\u cats'][$parent]作为$cat\u id) { 如果(!isset($category['parent_cats'][$cat_id])) { $html.=“
  • *”$category['categories'][$cat\u id]['nombres']。“
  • \n”; } 如果(isset($category['parent_cats'][$cat_id])) { $html.=“
  • ”$category['categories'][$cat\u id]['nombres'].“\n”; $html.=getCategories($cat_id,$category); $html.=“
  • \n”; } } $html.=“
\n”; } 返回$html; } echo$data['category']=getCategories(0,$category);
请帮我怎么做才能找到路,我尝试了这个,但没有成功:

Maximo Eladio
- Jose Anibal
  - Juan De Dios
    - Pedro David
      - Luis Alberto
        - Henry
          - Eury Alexander 
(0)Maximo Eladio
- (1)Jose Anibal
  - (2)Juan De Dios
    - (3)Pedro David
      - (4)Luis Alberto
        - (5)Henry
          - (6)Eury Alexander 

(1)Jose Anibal
  - (2)Juan De Dios
    - (3)Pedro David
      - (4)Luis Alberto
        - (5)Henry
          - (6)Eury Alexander 

(2)Juan De Dios
    - (3)Pedro David
      - (4)Luis Alberto
        - (5)Henry
          - (6)Eury Alexander 

(3)Pedro David
      - (4)Luis Alberto
        - (5)Henry
          - (6)Eury Alexander  

(4)Luis Alberto
    - (5)Henry
       - (6)Eury Alexander 
$sql = "SELECT * FROM t_usuarios ";
$results = mysqli_query($con,$sql) or die(mysqli_error()) ;
if($results)
{
    while($result = mysqli_fetch_array($results))
    {
        $category['categories'][$result['id']] = $result; 
        $category['parent_cats'][$result['id_referido']][] = $result['id']; 
    }
}

function getCategories($parent, $category) 
{
    $html = "";
    if (isset($category['parent_cats'][$parent]))
    {
        $html .= "<ul>\n";
        foreach ($category['parent_cats'][$parent] as $cat_id)
        {
            if (!isset($category['parent_cats'][$cat_id]))
            {
              $html .= "<li>*".$category['categories'][$cat_id]['nombres']."</li> \n";
            }
            if (isset($category['parent_cats'][$cat_id]))
            {
              $html .= "<li>". $category['categories'][$cat_id]['nombres'] . " \n";
              $html .= getCategories($cat_id, $category);
              $html .= "</li> \n";
            }
        }
        $html .= "</ul> \n";
    }
    return $html;
}

    echo $data['category'] = getCategories(0, $category);
$results2 = mysql_query( "SELECT * FROM t_usuarios ORDER BY id ASC", $link );
while ( $tagrow = mysql_fetch_array( $results2 )){

$sql = "SELECT * FROM t_usuarios WHERE id=".$tagrow["id"]."";
$results = mysqli_query($con,$sql) or die(mysqli_error()) ;
if($results)
{
    while($result = mysqli_fetch_array($results))
    {
        $category['categories'][$result['id']] = $result; 
        $category['parent_cats'][$result['id_referido']][] = $result['id']; 
    }
}

function getCategories($parent, $category) 
{
    $html = "";
    if (isset($category['parent_cats'][$parent]))
    {
        $html .= "<ul>\n";
        foreach ($category['parent_cats'][$parent] as $cat_id)
        {
            if (!isset($category['parent_cats'][$cat_id]))
            {
              $html .= "<li>*".$category['categories'][$cat_id]['nombres']."</li> \n";
            }
            if (isset($category['parent_cats'][$cat_id]))
            {
              $html .= "<li>". $category['categories'][$cat_id]['nombres'] . " \n";
              $html .= getCategories($cat_id, $category);
              $html .= "</li> \n";
            }
        }
        $html .= "</ul> \n";
    }
    return $html;
}

    echo $data['category'] = getCategories(0, $category);
}
$results2=mysql\u query(“按id ASC从常用订单中选择*,$link”);
而($tagrow=mysql\u fetch\u数组($results2)){
$sql=“从t_usuarios中选择*,其中id=”.$tagrow[“id”]”;
$results=mysqli_query($con,$sql)或die(mysqli_error());
如果(结果)
{
而($result=mysqli\u fetch\u数组($results))
{
$category['categories'][$result['id']]=$result;
$category['parent_cats'][$result['id_refereido']][=$result['id'];
}
}
函数getCategories($parent$category)
{
$html=“”;
if(isset($category['parent_cats'][$parent]))
{
$html.=“
    \n”; foreach($category['parent\u cats'][$parent]作为$cat\u id) { 如果(!isset($category['parent_cats'][$cat_id])) { $html.=“
  • *”$category['categories'][$cat\u id]['nombres']。“
  • \n”; } 如果(isset($category['parent_cats'][$cat_id])) { $html.=“
  • ”$category['categories'][$cat\u id]['nombres'].“\n”; $html.=getCategories($cat_id,$category); $html.=“
  • \n”; } } $html.=“
\n”; } 返回$html; } echo$data['category']=getCategories(0,$category); }
我不明白您在上一段代码中试图做什么,但如果您更改
echo$data['category']=getCategories(0,$category),它应该可以工作在第一个代码块中,以:

$data['category'] = "";
foreach (array_keys($category['parent_cats']) as $parent)
{
    $data['category'] .= getCategories($parent, $category);
}
echo $data['category'];
它执行的操作与您已经执行的操作相同,但每次对每只猫使用不同的
$parent