$sql = "SELECT *
FROM `likes`
WHERE `pid` = $pid";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$likers = array();
while($row = $result->fetch_assoc()) {
$likers[] = $row['uid'];
echo implode(", ", $likers);
}
} else {
return "Be the first to like this status...";
}
例如,如果查询导致包含用户ID的3行,则应显示以下内容: 21,20,44
应显示: 21,20,44 但相反,它会显示: 2121,20,44 看看它如何首先显示第一个值?
另一个例子: 50,60,70 但它显示: 5050,60,70
有什么方法可以修复吗?提前致谢
答案 0 :(得分:7)
您正在while
循环中打印结果,这就是它发生的原因。首先,阵列中将有21个,然后它将是21,20等等。在循环外打印它。尝试 -
while($row = $result->fetch_assoc()) {
$likers[] = $row['uid'];
}
echo implode(", ", $likers);