31 lines
1.1 KiB
PHP
31 lines
1.1 KiB
PHP
<?php
|
|
header('Content-Type: application/json');
|
|
require_once __DIR__ . '/../db/config.php';
|
|
$pdo = db();
|
|
|
|
$type = $_GET['type'] ?? 'weekly';
|
|
$days = ($type === 'monthly') ? 30 : 7;
|
|
|
|
$data = [
|
|
'nutrition' => [],
|
|
'weight' => [],
|
|
'water' => []
|
|
];
|
|
|
|
// Get nutrition (last X days)
|
|
$stmt = $pdo->prepare("SELECT DATE(created_at) as log_date, SUM(calories) as total_calories, SUM(protein) as total_protein, SUM(creatine) as total_creatine FROM nutrition_logs WHERE created_at >= DATE_SUB(CURDATE(), INTERVAL ? DAY) GROUP BY log_date ORDER BY log_date ASC");
|
|
$stmt->execute([$days]);
|
|
$data['nutrition'] = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|
|
|
// Get weight (last X days)
|
|
$stmt = $pdo->prepare("SELECT weight, logged_at FROM weight_logs WHERE logged_at >= DATE_SUB(CURDATE(), INTERVAL ? DAY) ORDER BY logged_at ASC");
|
|
$stmt->execute([$days]);
|
|
$data['weight'] = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|
|
|
// Get water (last X days)
|
|
$stmt = $pdo->prepare("SELECT amount, logged_at FROM water_logs WHERE logged_at >= DATE_SUB(CURDATE(), INTERVAL ? DAY) ORDER BY logged_at ASC");
|
|
$stmt->execute([$days]);
|
|
$data['water'] = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|
|
|
echo json_encode($data);
|