[英]php function based on a sql query
我如何基於此查詢對PHP函數進行排名:
SELECT @rownum := @rownum + 1 AS rank
, id, name, avatar, views
FROM users
, (SELECT @rownum := 0) AS dummy
WHERE users.group_id = 5
ORDER BY views DESC
就像是:
function $rank {
$rank = SELECT @rownum := @rownum + 1 AS rank, id, name, avatar, views FROM users, (SELECT @rownum := 0) AS dummy WHERE users.group_id = 5 ORDER BY views DESC;
return $rank;
}
然后在我的網站上回應排名。 這個想法是讓我在需要使用的每個地方(用戶列表或用戶個人資料)獲得用戶排名
編輯:這應該可以解決問題。
<?php
function getUserRank($group) {
$query = "SELECT id, name, avatar, views "
. "FROM users "
. "WHERE users.group_id = :group "
. "ORDER BY views DESC";
// Execute query. This is the PDO version
$query = $db->prepare($query);
$query->bindValue(':group', $group);
$query->execute();
return $query->fetchAll(PDO::FETCH_ASSOC);
}
// Call function and pass the group ID over;
$list = getUserRank($group);
for ($i = 1; $i <= (count($list)); $i++) {
echo "$i -> $list->[name] -> $list->[$avatar] -> $list->[views]";
}
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.