sql中的示例列:
id|viewed
1|1000
35|500
47|1200
79|700
84|300
我使用“SELECT * FROM table ORDER BY view desc”,结果我得到了:
47|1200
1|1000
79|700
35|500
84|300
但是我想在PHP中添加Top id(如排名)的“数字顺序”,示例文本:
那么我需要在PHP中添加这些顶级内容,我认为会使用$ i ++在php中计算数字或类似内容吗?
答案 0 :(得分:1)
在打印结果的循环期间增加变量。
$i = 1;
while ($row = $stmt->fetch()) {
echo "ID {$row['id']} is $i<br>";
$i++;
}
答案 1 :(得分:0)
这样的东西?
$query = $db->query("SELECT * FROM table ORDER BY viewed desc");
$rows = $query->fetchAll(PDO:FETCH_ASSOC);
count = count($rows);
echo '<ul>';
for ($x = 0; $x < count; $x++) {
echo '<li>ID ' + $rows[$x]['id'] + ' is ' + $x + '.</li>'
}
echo '</ul>';
答案 2 :(得分:0)
您可以从sql查询本身执行此操作:
可能你应该试试这个:
set @row_num = 0;
SELECT @row_num := @row_num + 1 AS number,id,viewed FROM `table` ORDER BY viewed desc