使用MySQL Query列出PHP中的所有社区成员


List all the Community Members in PHP with MySQL Query

我想在我的索引页面中列出我网站的所有成员,但我不知道该怎么做,我尝试了while循环,但它变成了无限循环,因为我只是告诉它,while小于整数exc.

这是我的代码:

<?php
$profile_query = "SELECT * FROM `members` ORDER BY `join_date` DESC";
$profile_query_check = $db->prepare($profile_query);
$profile_query_check->execute();
$ac = $db->query("SELECT FOUND_ROWS()")->fetchColumn();
if(!empty($ac)) {
$_loader = true;
$fetch = $profile_query_check->fetch (PDO::FETCH_ASSOC);
$profile_name = $fetch['profile_name'];
$profile_photo = $fetch['profile_photo'];
$profile_id = $fetch['profile_id'];
while($profile_id <1000) { // this is the place i want to change to make it working well :)
?> 
<li><a href="http://mywebsite.com/profiles/<?php echo $profile_id;?>">  
<img src="http://mywebsite.com/photos/<?php echo $profile_photo;?>" />
<br>  
<?php echo $profile_name; ?></a></li>  
<?php } ?>

正如我所说,它打印得很好,但页面疯了,无限循环开始了,我的浏览器也疯了:)我可以在这里应用任何mysql或php函数来获取所有行以及它停止的位置、停止打印或类似的东西吗

谢谢你的建议。

问候

编辑:Michael修复了这个错误,但这次它显示了除最后一个之外的所有配置文件,我该如何修复这个错误?

我认为你应该把它改成这样:

while ($fetch = $profile_query_check->fetch (PDO::FETCH_ASSOC)) {
    if ($fetch == NULL OR $fetch["profile_id"] > 1000) {
        break;
    }

    $profile_name = $fetch['profile_name'];
    $profile_photo = $fetch['profile_photo'];
    $profile_id = $fetch['profile_id'];
    //echo the profile info
}

否则,按照现在的方式,您只从返回的数据中获取一行,因此profile_id将始终<1000(除非第一个返回的值大于1000)