2025-01-03 17:10:08 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
class Refuel {
|
2025-01-05 18:30:29 +01:00
|
|
|
private $db;
|
2025-01-03 17:10:08 +01:00
|
|
|
|
2025-01-05 18:30:29 +01:00
|
|
|
public function __construct() {
|
|
|
|
$this->db = Database::getInstance()->getConnection();
|
|
|
|
}
|
|
|
|
|
|
|
|
public function create($data) {
|
|
|
|
try{
|
|
|
|
$stmt = $this->db->prepare("
|
|
|
|
INSERT INTO refueling_records (user_id, vehicle_id, fuel_type, note, liters, price_per_liter, total_price, created_at)
|
|
|
|
VALUES (?, ?, ?, ?, ?, ?, ?, NOW())
|
|
|
|
");
|
|
|
|
|
|
|
|
$stmt->bind_param(
|
|
|
|
"iissddd",
|
|
|
|
$data['user_id'],
|
|
|
|
$data['vehicle_id'],
|
|
|
|
$data['fuel_type'],
|
|
|
|
$data['note'],
|
|
|
|
$data['liters'],
|
|
|
|
$data['price_per_liter'],
|
|
|
|
$data['total_price'],
|
|
|
|
);
|
|
|
|
|
|
|
|
if ($stmt->execute()) {
|
|
|
|
return true;
|
|
|
|
} else {
|
|
|
|
return "Error: " . $stmt->error;
|
|
|
|
}
|
|
|
|
} catch(mysqli_sql_exception $e) {
|
|
|
|
return $e->getMessage();
|
|
|
|
}
|
|
|
|
}
|
2025-01-05 21:24:55 +01:00
|
|
|
|
|
|
|
public function latest_data($vehicle_id, $record_count) {
|
|
|
|
try {
|
|
|
|
$stmt = $this->db->prepare("
|
|
|
|
SELECT `liters`, `price_per_liter`, `total_price`, `created_at`
|
|
|
|
FROM `refueling_records`
|
|
|
|
WHERE `vehicle_id` = ?
|
|
|
|
ORDER BY created_at DESC
|
|
|
|
LIMIT ?;
|
|
|
|
");
|
|
|
|
|
|
|
|
$stmt->bind_param("ii", $vehicle_id, $record_count);
|
|
|
|
if ($stmt->execute()) {
|
|
|
|
$result = $stmt->get_result();
|
|
|
|
$data = $result->fetch_all(MYSQLI_ASSOC);
|
|
|
|
$stmt->close();
|
|
|
|
return array_reverse($data);
|
|
|
|
} else {
|
|
|
|
return "Error: " . $stmt->error;
|
|
|
|
}
|
|
|
|
} catch (mysqli_sql_exception $e) {
|
|
|
|
return $e->getMessage();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public function latest_one($user_id, $record_count = 1) {
|
|
|
|
try {
|
|
|
|
$stmt = $this->db->prepare("
|
|
|
|
SELECT
|
|
|
|
`r`.`vehicle_id`,
|
|
|
|
`v`.`name` AS `vehicle_name`,
|
|
|
|
`r`.`liters`,
|
|
|
|
`r`.`price_per_liter`,
|
|
|
|
`r`.`total_price`,
|
|
|
|
`r`.`created_at`
|
|
|
|
FROM `refueling_records` AS `r`
|
|
|
|
JOIN `vehicles` AS `v` ON `r`.`vehicle_id` = `v`.`id`
|
|
|
|
WHERE `r`.`user_id` = ?
|
|
|
|
ORDER BY `r`.`created_at` DESC
|
|
|
|
LIMIT ?;
|
|
|
|
");
|
|
|
|
|
|
|
|
$stmt->bind_param("ii", $user_id, $record_count);
|
|
|
|
if ($stmt->execute()) {
|
|
|
|
$result = $stmt->get_result();
|
|
|
|
$data = $result->fetch_all(MYSQLI_ASSOC);
|
|
|
|
$stmt->close();
|
|
|
|
return array_reverse($data);
|
|
|
|
} else {
|
|
|
|
return "Error: " . $stmt->error;
|
|
|
|
}
|
|
|
|
} catch (mysqli_sql_exception $e) {
|
|
|
|
return $e->getMessage();
|
|
|
|
}
|
|
|
|
}
|
2025-01-03 17:10:08 +01:00
|
|
|
}
|