簡體   English   中英

如何在sql和php中從最高到最低的數字列計算數字?

[英]How to count number from highest to lowest number column in sql and php?

sql 中的示例列:

id|viewed
1|1000
35|500
47|1200
79|700
84|300

我使用“SELECT * FROM table ORDER BY views desc”,我得到的結果:

47|1200
1|1000
79|700
35|500
84|300

但我想在 PHP 中按 Top id(如排名)添加“編號順序”,示例文本:

  • ID 47 是 1
  • ID 1 是 2
  • ID 79 是 3
  • ID 35 是 4
  • ID 84 是 5

那么我需要在 PHP 中添加這些頂部,我認為將使用 $i++ 來計算 php 中的數字或類似的東西?

在打印結果的循環期間增加一個變量。

$i = 1;
while ($row = $stmt->fetch()) {
    echo "ID {$row['id']} is $i<br>";
    $i++;
}

像這樣的東西?

$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>';

您可以從 sql 查詢本身執行此操作:

也許你應該試試這個:

set @row_num = 0;
SELECT @row_num := @row_num + 1 AS number,id,viewed FROM `table` ORDER BY viewed desc

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM