사용자 이름을 검색하고 사용자가이를 따르는 쿼리가 하나 있습니다. 그 결과는 while 루프에 표시됩니다. 그 루프에서 나는 얼마나 많은 사람들이 그 사용자를 따르고 있는지를 알 수있는 다른 쿼리를 가지고있다. 문제는 모든 결과에 대해 동일한 숫자가 표시된다는 것입니다. 마치 한 번만 쿼리를 실행하는 것과 같습니다. 여기 코드는 다음과 같습니다동일한 결과를 계속 반환하는 SQL 쿼리
<?php
$req = $db->prepare("SELECT * FROM users, follows WHERE follows.userId = ? AND follows.followerId = users.userId ORDER BY users.username");
$req->execute(array($userId));
while($data = $req->fetch()){
?>
<p>
<img src="files/useruploads/<?php echo $data['profilePic']; ?>" class="left" style="width: 30px; height: 30px; border-radius: 900px;" alt=""/>
<a href="<?php echo $data['username']; ?>/"><?php echo $data['username']; ?></a><br>
<?php
$followers = $db->prepare("SELECT *, COUNT(*) AS followers FROM follows WHERE follows.followerId = ?");
$followers->execute(array($data["userId"]));
if($date = $followers->fetch()){
$totFollowers = $date["followers"];
}
?>
<span class="grey-text"><?php echo $totFollowers; ?></span>
</p>
<?php
}
?>
에 다음 코드
를 대체 누군가와 'followerId을 따르고 시도 '따라 오는 사람을 위해. – SirMaxime