View file zip0.ru/friends_requests_count.php

File size: 782B
<?php
require_once 'db.php';

header('Content-Type: application/json; charset=utf-8');

if (empty($_SESSION['user_id'])) {
    echo json_encode(['count' => 0]);
    exit;
}

$user_id = (int)$_SESSION['user_id'];

// входящие pending
$stmt = $mysqli->prepare("
    SELECT
      (SELECT COUNT(*)
       FROM friendships
       WHERE addressee_id = ? AND status = 'pending') AS incoming_cnt,
      (SELECT COUNT(*)
       FROM friendships
       WHERE requester_id = ? AND status = 'accepted' AND requester_notified = 0) AS accepted_cnt
");
$stmt->bind_param('ii', $user_id, $user_id);
$stmt->execute();
$stmt->bind_result($incoming_cnt, $accepted_cnt);
$stmt->fetch();
$stmt->close();

$total = (int)$incoming_cnt + (int)$accepted_cnt;

echo json_encode(['count' => $total]);