如何在php中显示SUM()
我有一个显示前30名用户的功能。它必须为每个用户显示“视图”列。我正试着用echo打印出来,但是什么也没有出来如何在php中显示SUM(),php,mysql,sql,Php,Mysql,Sql,我有一个显示前30名用户的功能。它必须为每个用户显示“视图”列。我正试着用echo打印出来,但是什么也没有出来 function Wo_FeaturedUsers($limit = '', $type = '') { global $wo, $sqlConnect; if ($wo['loggedin'] == false) { return false; } $data = array(); $logged_user_id = $wo['
function Wo_FeaturedUsers($limit = '', $type = '')
{
global $wo, $sqlConnect;
if ($wo['loggedin'] == false) {
return false;
}
$data = array();
$logged_user_id = $wo['user']['user_id'];
$query_one = " SELECT `user_id` FROM `Wo_Posts` WHERE `user_id` =`user_id`";
$sql = mysqli_query($sqlConnect, $query_one);
$mysql_count = mysqli_num_rows($sql);
if ($mysql_count > 27) {
$query_one = " SELECT `user_id`, SUM(views)
FROM `Wo_Posts`
WHERE `time` >= DATE_SUB( CURRENT_DATE, INTERVAL 90
DAY ) AND page_id = 0 GROUP BY `user_id`
ORDER BY SUM(`views`) DESC LIMIT 30
";
$sql = mysqli_query($sqlConnect, $query_one);
while ($fetched_data = mysqli_fetch_assoc($sql)) {
$data[] = Wo_UserData($fetched_data['user_id']);
}
} else {
while($row = mysql_fetch_assoc($sql)) {
$sum = $row["SUM(views)"];
}
}
return $data;
}
在执行SQL查询时,将
用作
关键字
SELECT `user_id`, SUM(views) AS my_sum FROM `Wo_Posts`
....
ORDER BY my_sum DESC
然后您就可以通过PHP在数组的my_sum
键中轻松访问它
$sum = $row["my_sum"];
但如果您检查代码,则仅当第一个查询包含超过27个条目时,您才执行从DB中检索的
my_sum
。若它的值不超过27,那个么您需要检查您的和值,它不在第一个查询中
while($row = mysql_fetch_assoc($sql)) {
$sum = $row["SUM(views)"];
}
此代码位于错误的位置。While循环应该在
if
语句中,否则您的总和不会从数据库中检索到,因为您在第二次查询中正在从数据库中读取总和。我试图使用AS,但没有结果@МаааачI更新的答案。事实上27号是什么?我不懂php,所以我申请了帮助请帮助$sql=mysqli\u query($sqlConnect,$query\u one);{$query\u one=“选择user\u id
,SUM(views)作为我在Wo\u Posts
WHEREtime
>=DATE\u SUB(当前日期,间隔90天)和page\u id=0按user\u id
ORDER BY my\u SUM DESC LIMIT 30分组”;$sql=mysqli\u查询($sqlConnect,$query\u one);而($fetched_data=mysqli_fetch_assoc($sql)){$sum=$row[“my_sum”];$data[]=Wo_UserData($fetched_data['user_id']);}}返回$data;}