如何使用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
开始遍历父子行,他不想打印所有内容。