簡體   English   中英

基於SQL查詢的PHP功能

[英]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.

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