1

我想在我的索引页面中列出我网站的所有成员,但我不知道该怎么做,我尝试使用 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 函数来获取所有行以及它停止的位置,停止打印或类似的东西

谢谢你的建议。

问候

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

4

1 回答 1

1

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

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)

于 2012-08-29T23:08:29.877 回答