Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用php遍历列中的所有行_Php_Mysql_Sql_Foreach_While Loop - Fatal编程技术网

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

如何使用php遍历列中的所有行,php,mysql,sql,foreach,while-loop,Php,Mysql,Sql,Foreach,While Loop,这是我的表数据和行 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 = mys

这是我的表数据和行

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;      
}
我尝试了如下查询

$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;      
}
我得到了上述语句的输出

$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
但是我需要从输出值中删除所有的userid

$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;      
}
Expected Output
 Value = user2
 Value = user1
 Value = demo
如何从输出值中获取所有用户标识?

然后我需要一个正确的MySQL查询和循环语句,使用Php?

将您的查询替换为:

$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;      
}
SELECT under_userid FROM user WHERE under_userid !=  'NULL'

您需要一个递归函数:

$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;      
}
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");
函数get\u all\u在($con,$userid)下{
$stmt=mysqli\u prepare($con,“在用户的用户ID下选择,其中用户=?和用户ID下不为空”);
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“用户ID下的值=$”;
$results[]=$under_userid;
}
//现在进入下一关
foreach(_userid下的$results){
获取($con,$user\u userid)下的所有内容;
}
}
在“用户4”下获取所有信息;

您需要递归地重复查询,使用上一个查询的结果作为下一个查询中的
WHERE
子句。Barmar先生,我尝试过上面的查询,但我在_userid下只得到一个,但我需要在_userid下得到所有结果,所以您能给我一个查询吗,循环语句以及如何从中获取所有行query@Barmar你可以看到我上面的输出和预期输出你需要更清楚地解释你想做什么,人们不理解你的例子。他们认为您想打印除
NULL
之外的所有
用户ID下的
。你应该包括不属于该链的行。它不起作用。你会得到什么?他想从
user4
开始遍历父子行,他不想打印所有内容。