| <?php |
| class Referral { |
| private $conn; |
| private $table_name = "referrals"; |
|
|
| public $id; |
| public $referrer_id; |
| public $referred_id; |
| public $status; |
| public $commission_earned; |
|
|
| public function __construct($db) { |
| $this->conn = $db; |
| } |
|
|
| |
| public function createReferral($referrer_id, $referred_id) { |
| $query = "INSERT INTO " . $this->table_name . " |
| (referrer_id, referred_id, status) |
| VALUES (?, ?, 'pending')"; |
| $stmt = $this->conn->prepare($query); |
| $stmt->bindParam(1, $referrer_id); |
| $stmt->bindParam(2, $referred_id); |
| return $stmt->execute(); |
| } |
|
|
| |
| public function completeReferral($referred_id, $commission_amount) { |
| $query = "UPDATE " . $this->table_name . " |
| SET status = 'completed', commission_earned = ? |
| WHERE referred_id = ? AND status = 'pending'"; |
| $stmt = $this->conn->prepare($query); |
| $stmt->bindParam(1, $commission_amount); |
| $stmt->bindParam(2, $referred_id); |
| return $stmt->execute(); |
| } |
|
|
| |
| public function getReferralByReferredId($referred_id) { |
| $query = "SELECT * FROM " . $this->table_name . " WHERE referred_id = ? LIMIT 1"; |
| $stmt = $this->conn->prepare($query); |
| $stmt->bindParam(1, $referred_id); |
| $stmt->execute(); |
| return $stmt->fetch(PDO::FETCH_ASSOC); |
| } |
| } |
| ?> |