php mysql查询结果数组和foreach循环

时间:2013-12-19 17:18:23

标签: php mysql sql arrays pdo

任何人都知道如何执行以下操作:

我有以下mysql查询:

客户端1026在他下面有两个客户端:1056(左侧)& 1497(右侧) 客户端1056和客户端1497中的每一个在其下具有两个其他客户端,依此类推

现在我想创建一个循环来收集客户端1026下的所有客户端

我有这个mysql查询

$sql_query="select id from rev_r_clients WHERE parent_client_id='1026'";
$res = mysql_query($sql_query);
$ids=array();
while($row = mysql_fetch_object($res)){
    $ids[]=$row->id;
}
$ids=array_filter($ids);
foreach($ids as $id){
    echo $id;
    echo '<br>';
    $sql_query="select id from rev_r_clients WHERE parent_client_id='$id'";
    $res = mysql_query($sql_query);
    $ids=array();
    while($row = mysql_fetch_object($res)){
        $ids[]=$row->id;
    }
    $ids=array_filter($ids);
    foreach($ids as $id){
        echo $id;
    }
}

它返回

1056

106410801497

15051521

现在我怎样才能使这个查询得到数组结果(如1056,1497),然后使用foreach循环得到结果和结果的结果等等......直到没有更多的结果?

你可以使用mysql,mysqli,PDO,我想要的就是完成请求

1 个答案:

答案 0 :(得分:3)

$ids=array();
while($row = mysql_fetch_object($res)){
ids[]=$row->id;
 }
$ids=array_filter($ids);
/*To remove empty array*/
foreach($ids as $id){
echo $id;
 }