我有一个名为 ptb_profile_views 的表,如下所示:
id | profile_id | viewed_profile_id
1 2 6
2 2 6
3 3 6
4 -1 6
5 -1 6
我一直试图将“profile_id”中的正值仅计算一次作为不同的值,并将 -1 值计算为它们在以下查询中出现的次数:
function check_profile_views3() {
global $connection;
global $_SESSION;
$query = "
SELECT id,profile_id,viewed_profile_id COUNT
FROM ptb_profile_views
WHERE profile_id > 0
GROUP BY profile_id
UNION
/*shows all -1 profile id's*/
SELECT id,profile_id,viewed_profile_id
FROM ptb_profile_views
WHERE profile_id <= 0";
$check_profile_views_set3 = mysql_query($query, $connection);
confirm_query($check_profile_views_set3);
return $check_profile_views_set3;
}
所以最终结果是
2, 3, -1, -1
但不是回显它们自己的实际值,而是希望查询对值进行计数。
所以...
2, 3, -1, -1 = a total of 4
我也试图像这样调用查询,我不知道它是否会起作用:
$check_profile_views_set3 = check_profile_views3();
while ($views3 = mysql_fetch_array($check_profile_views_set3)) {
echo "".$views3['profile_id'].""; ?>
有人可以告诉我我该怎么做吗?谢谢