我正在尝试从名为favorite
的表中名为users
的列中选择5个最常用的单词。我只需要前5名,但希望他们以1到5的顺序返回显示。这些是名称,例如:
user1 Bob Marley
user2 Stan Smiley
user3 Bob Marley
user4 Joe Schmoe
等...
我将从以下内容开始:
$db_fav_query = mysqli_prepare($con, "SELECT favorite, COUNT(*) AS favCOUNT FROM users GROUP BY favorite ORDER BY favCOUNT DESC LIMIT 5");
$db_fav_query->execute();
$db_fav_result = $db_fav_query->get_result();
$row = $db_fav_result->fetch_assoc();
$fav1 = $row['favorite'];
我试图输出如下:
<tr>
<td><?php echo htmlentities($fav1); ?></td>
<td><?php echo htmlentities($fav2); ?></td>
<td><?php echo htmlentities($fav3); ?></td>
<td><?php echo htmlentities($fav4); ?></td>
<td><?php echo htmlentities($fav5); ?></td>
</tr>
我意识到尚未声明$fav2
,$fav3
等,但是不确定如何从dB中获取它们,因此可以对其进行分配。我没有收到任何错误,但是现在$fav1
什么也没返回。
答案 0 :(得分:2)
您需要一个while循环才能遍历所有行
while($row = $db_fav_result->fetch_assoc()) {
$fav = $row['favorite'];
echo $fav;
}
将它们放在桌子上
<tr>
<?php
while($row = $db_fav_result->fetch_assoc()) {
$fav = $row['favorite'];
echo "<td>$fav</td>";
}
?>
</tr>