47 lines
1.3 KiB
PHP
47 lines
1.3 KiB
PHP
<?php
|
|
|
|
class Habit {
|
|
private $db;
|
|
|
|
public function __construct() {
|
|
$this->db = Database::getInstance()->getConnection();
|
|
}
|
|
|
|
public function create($data) {
|
|
$stmt = $this->db->prepare("
|
|
INSERT INTO habits (user_id, title, frequency, custom_frequency, reward_points, created_at)
|
|
VALUES (?, ?, ?, ?, ?, NOW())
|
|
");
|
|
|
|
$stmt->bind_param(
|
|
"isssi", // Bind types: int, string, string, string, int
|
|
$data['user_id'],
|
|
$data['name'],
|
|
$data['frequency'],
|
|
$data['custom_frequency'], // Bind the custom_frequency field
|
|
$data['reward_points']
|
|
);
|
|
|
|
if ($stmt->execute()) {
|
|
return true;
|
|
} else {
|
|
error_log("Failed to create habit: " . $stmt->error);
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function getHabitsByUser($userId) {
|
|
$stmt = $this->db->prepare("SELECT id, title, frequency, custom_frequency, reward_points, created_at FROM habits WHERE user_id = ?");
|
|
$stmt->bind_param("i", $userId);
|
|
$stmt->execute();
|
|
$result = $stmt->get_result();
|
|
|
|
$habits = [];
|
|
while ($row = $result->fetch_assoc()) {
|
|
$habits[] = $row;
|
|
}
|
|
|
|
return $habits;
|
|
}
|
|
}
|