Commission Report

Commission Report: '.$dateFrom." → ".$dateTo.'
'; $conn = new mysqli($GLOBALS['host'], $GLOBALS['user'], $GLOBALS['pass'], $GLOBALS['db']); if ($conn->connect_error) die("Connection failed: " . $conn->connect_error); // ---- Login user type check ---- $loginType = $_SESSION['type'] ?? ''; // login session-এ type আছে $loginId = $_SESSION['user_id']; // login user_id // ---- Base Query ---- $sql = "SELECT u.user_id, u.user_name, u.comi_rate, COALESCE(SUM(t.AT_AMOUNT),0) as total_amount FROM `".$GLOBALS['arif_users']."` u LEFT JOIN `".$GLOBALS['arif_ac']."` a ON u.user_id = a.AA_AGENT LEFT JOIN `".$GLOBALS['arif_tran']."` t ON a.AA_ACNO = t.AT_ACID AND t.AT_TIMESTAMP BETWEEN '".$dateFrom." 00:00:00' AND '".$dateTo." 23:59:59' WHERE u.type = 'agent'"; // ---- if Agent self data filter ---- if ($isAgent) { $sql .= " AND u.user_id = '".$loginId."'"; } $sql .= " GROUP BY u.user_id, u.user_name, u.comi_rate ORDER BY u.user_name ASC"; $result = $conn->query($sql); echo '
'; // Only show Agent ID and Name columns if user is not an agent if (!$isAgent) { echo ''; } echo ''; $grandTotalCommission = 0; $grandTotalCollection = 0; if ($result && $result->num_rows > 0) { while($row = $result->fetch_assoc()) { $collection = $row["total_amount"]; $commission = ($collection * $row["comi_rate"]) / 100; $grandTotalCollection += $collection; $grandTotalCommission += $commission; echo ""; // Only show Agent ID and Name if user is not an agent if (!$isAgent) { echo ""; } echo ""; } } else { $colspan = $isAgent ? 2 : 4; echo ""; } echo '
Agent ID Agent NameTotal Collection Total Commission
".$row["user_id"]." ".$row["user_name"]."".number_format($collection,2)." ".number_format($commission,2)."
No agents found
'; // ---- if admin/bm then show grand total ---- if (!$isAgent) { echo '
Grand Total Collection : '.number_format($grandTotalCollection,2).'
Grand Total Commission : '.number_format($grandTotalCommission,2).'
'; } echo '
'; $conn->close(); } // ---- Call commission function ---- commission_report($dFrom, $dTo, $isAgent); ?>