繁体   English   中英

如何使用php遍历列中的所有行

[英]How to Traverse all rows in a column using php

这是我的表数据和行

users     under_userid 
-------   ------------
demo        NULL  
user1       demo 
user2       user1 
user3       user1 
user4       user2

我试过如下查询

$query = mysqli_query($con,"select under_userid from user where  users='user4'");    
$result = mysqli_fetch_array($query);
foreach ($result as $x => $x_value)
{            
  echo 'Value = ' . $x_value;      
}

我得到了上述语句的输出

Value = user2

但我需要从输出值中获取所有 under_userid

Expected Output
 Value = user2
 Value = user1
 Value = demo

如何从输出值中获取所有 under_userid?
那么我需要使用 PHP 正确的 MySQL 查询和循环语句吗?

你需要一个递归函数:

function get_all_under($con, $userid) {
    $stmt = mysqli_prepare($con, "SELECT under_userid FROM user where user = ? AND under_userid IS NOT NULL");
    mysqli_stmt_bind_param($stmt, "s", $userid);
    mysqli_stmt_execute($stmt);
    mysqli_stmt_bind_result($stmt, $under_userid);
    $results = array();
    while (mysqli_stmt_fetch($stmt)) {
        echo "Value = $under_userid<br>";
        $results[] = $under_userid;
    }
    // Now get the next level
    foreach ($results as $under_userid) {
        get_all_under($con, $user_userid);
    }
}

get_all_under("user4");

将您的查询替换为:

SELECT under_userid FROM user WHERE under_userid !=  'NULL'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM