如何从“for循环”

时间:2018-02-14 11:35:04

标签: php mysql database for-loop mysqli

 $sql = "SELECT * FROM user";
    $r=mysqli_query($con,$sql);
    $f=mysqli_num_rows($r);
    $columnValues2= $temp_under_userid; 
    for ( $i=0; $i<=$f;$i++)
    { 
        $sql = "SELECT * FROM user  WHERE  email='$columnValues2'";
        $result=mysqli_query($con,$sql);        
            while ( $row = mysqli_fetch_array($result) ) 
             {                  
                $columnValues2 = $row['under_userid'];              
             }
             echo ($columnValues2);
    } 

上面的代码工作正常并且获取for()循环内的所有元素值,如果从for()循环出来意味着我无法获得所有元素。我只得到最后一个值。

如何在for()循环之外获取所有元素值。

2 个答案:

答案 0 :(得分:0)

您需要在循环中创建一个数组来存储每个值......

    $users = array();
    while ( $row = mysqli_fetch_array($result) ) 
     {                  
        $users[] = $row['under_userid'];              
     }

然后$users将包含该列表。

如果您希望从所有循环中获取所有用户,则可能必须在第一个循环之前放置$users的声明。

编辑:

不确定为什么要进行第一次选择,但是请尝试使用以下代码......

$users = array();
$sql = "SELECT * FROM user  WHERE  email='$temp_under_userid'";
$result=mysqli_query($con,$sql);        
while ( $row = mysqli_fetch_array($result) ) {                  
    $users[] = $row['under_userid'];              
}
print_r($users);

答案 1 :(得分:-1)

你可以尝试这样的事情

$sql = "SELECT * FROM user  WHERE  email='$columnValues2'";
    $result=mysqli_query($con,$sql);        
        while ( $row = mysqli_fetch_array($result) ) 
         {                  
            $user[$row['under_userid']]=array(
                                              'user_name'=>$row['under_username'],
                                              'user_ect'=>$row['ect_data']
                                              );              
         }

然后您可以使用$ user [1] [&#39; user_name&#39;]来调用用户名信息。