次のような 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 回だけカウントし、-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'].""; ?>
誰かが私にこれを行う方法を教えてもらえますか? ありがとう