From 9865c17ac864d6b60cb27cf4264dbdb9d431eb74 Mon Sep 17 00:00:00 2001 From: jfgiraud Date: Sun, 5 Jul 2026 14:19:13 +0000 Subject: [PATCH] le btn creer un ordre fctionne --- css/ordreGF.css | 20 +++++++++ js/ordreGF.js | 47 +++++++++++++++++++ php/api_enregistrer_ordre.php | 7 +++ php/api_rechercher_action.php | 9 ++++ php/ordreGF.php | 85 +++++++++++++++++++++-------------- 5 files changed, 134 insertions(+), 34 deletions(-) create mode 100644 php/api_enregistrer_ordre.php create mode 100644 php/api_rechercher_action.php diff --git a/css/ordreGF.css b/css/ordreGF.css index 53680a6..3e9d340 100644 --- a/css/ordreGF.css +++ b/css/ordreGF.css @@ -155,3 +155,23 @@ .ordregf-btn-modifier-petit:hover { background-color: #283593; } + +.ordregf-modal { + border: none; + border-radius: 8px; + padding: 20px; + background: #1c2030; + color: #fff; +} +.ordregf-modal input { + background: #13161f; + border: 1px solid #333; + color: white; + padding: 5px; + margin: 5px 0; +} +.modal-actions { + margin-top: 15px; + display: flex; + gap: 10px; +} diff --git a/js/ordreGF.js b/js/ordreGF.js index e69de29..d3b1b35 100644 --- a/js/ordreGF.js +++ b/js/ordreGF.js @@ -0,0 +1,47 @@ +document.addEventListener("DOMContentLoaded", () => { + const modal = document.getElementById("modalCreerOrdre"); + const btnCreer = document.querySelector(".ordregf-btn-creer"); + const btnAnnuler = document.getElementById("btnAnnuler"); + const btnRechercher = document.getElementById("btnRechercher"); + const form = document.getElementById("formCreerOrdre"); + + // Ouverture popup + btnCreer.addEventListener("click", () => modal.showModal()); + btnAnnuler.addEventListener("click", () => { + form.reset(); + modal.close(); + document.getElementById("btnValider").disabled = true; + }); + + // Recherche action + btnRechercher.addEventListener("click", async () => { + const isin = document.getElementById("isinRecherche").value; + const response = await fetch(`/php/api_rechercher_action.php?isin=${isin}`); + const data = await response.json(); + + if (data.success) { + document.getElementById("Nom").value = data.company_name; + document.getElementById("ticker").value = data.ticker; + document.getElementById("code_yahoo").value = data.yahoo_code; + document.getElementById("btnValider").disabled = false; + } else { + alert("Action non trouvée"); + } + }); + + // Enregistrement + form.addEventListener("submit", async (e) => { + e.preventDefault(); + const formData = new FormData(form); + formData.append("isin", document.getElementById("isinRecherche").value); + + const response = await fetch("/php/api_enregistrer_ordre.php", { + method: "POST", + body: formData, + }); + + if ((await response.json()).success) { + location.reload(); // Recharger la page pour voir le nouvel ordre + } + }); +}); diff --git a/php/api_enregistrer_ordre.php b/php/api_enregistrer_ordre.php new file mode 100644 index 0000000..a25c0f1 --- /dev/null +++ b/php/api_enregistrer_ordre.php @@ -0,0 +1,7 @@ +getConnection(); +$stmt = $db->prepare("INSERT INTO ordreGF (isin, Nom, ticker, code_yahoo) VALUES (?, ?, ?, ?)"); +$success = $stmt->execute([$_POST['isin'], $_POST['Nom'], $_POST['ticker'], $_POST['code_yahoo']]); + +echo json_encode(['success' => $success]); diff --git a/php/api_rechercher_action.php b/php/api_rechercher_action.php new file mode 100644 index 0000000..182adbc --- /dev/null +++ b/php/api_rechercher_action.php @@ -0,0 +1,9 @@ +getConnection(); +$stmt = $db->prepare("SELECT * FROM actions WHERE isin = ?"); +$stmt->execute([$isin]); +$action = $stmt->fetch(PDO::FETCH_ASSOC); + +echo json_encode($action ? ['success' => true, ...$action] : ['success' => false]); diff --git a/php/ordreGF.php b/php/ordreGF.php index 63d48af..d2a48eb 100644 --- a/php/ordreGF.php +++ b/php/ordreGF.php @@ -18,7 +18,9 @@ $connection = $database->getConnection(); // --- Fonctions --- function fetchOrdreGF(PDO $connection): array { - return $connection->query('SELECT * FROM `ordreGF` ORDER BY `Id` DESC')->fetchAll(PDO::FETCH_ASSOC) ?: []; + $query = 'SELECT * FROM `ordreGF` ORDER BY `ID` DESC'; + $stmt = $connection->query($query); + return $stmt->fetchAll(PDO::FETCH_ASSOC) ?: []; } function fetchOrdreGFPied(PDO $connection, string $masterId): array @@ -38,9 +40,8 @@ require_once __DIR__ . '/header.php';

Gestion des ordres GF

-
-