first commit
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
// Indiquer au client que la réponse est du JSON
|
||||
header('Content-Type: application/json; charset=utf-8');
|
||||
|
||||
// Paramètres de connexion MySQL
|
||||
$host = 'localhost';
|
||||
$db = 'GF';
|
||||
$user = 'root';
|
||||
$pass = 'sysadm-1963';
|
||||
$charset = 'utf8mb4';
|
||||
|
||||
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
|
||||
$options = [
|
||||
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
||||
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
||||
PDO::ATTR_EMULATE_PREPARES => false,
|
||||
];
|
||||
|
||||
try {
|
||||
$pdo = new PDO($dsn, $user, $pass, $options);
|
||||
|
||||
// Requête UNION pour récupérer :
|
||||
// - Les 40 derniers pour le CAC40
|
||||
// - Les 35 derniers pour l'IBEX35
|
||||
// - Les 30 derniers pour le DOWJONES
|
||||
// (Triés à chaque fois par date_cours décroissante)
|
||||
$sql = "
|
||||
(SELECT * FROM cours_actions WHERE indice = 'CAC40' ORDER BY date_cours DESC LIMIT 40)
|
||||
UNION ALL
|
||||
(SELECT * FROM cours_actions WHERE indice = 'IBEX35' ORDER BY date_cours DESC LIMIT 35)
|
||||
UNION ALL
|
||||
(SELECT * FROM cours_actions WHERE indice = 'DOWJONES' ORDER BY date_cours DESC LIMIT 30)
|
||||
";
|
||||
|
||||
$stmt = $pdo->query($sql);
|
||||
$data = $stmt->fetchAll();
|
||||
|
||||
// Renvoyer les données sous format JSON propre
|
||||
echo json_encode([
|
||||
"status" => "success",
|
||||
"count" => count($data),
|
||||
"data" => $data
|
||||
], JSON_PRETTY_PRINT);
|
||||
} catch (\PDOException $e) {
|
||||
http_response_code(500);
|
||||
echo json_encode([
|
||||
"status" => "error",
|
||||
"message" => $e->getMessage()
|
||||
]);
|
||||
}
|
||||
Reference in New Issue
Block a user