File "store_taches_003.php"

Full Path: /home/analogde/www/Chart burndown/store_taches_003.php
File size: 2.27 KB
MIME-type: text/x-php
Charset: utf-8

<?php
// Configuration de la connexion à la base de données
$servername = "analogdepat.mysql.db"; // Serveur MySQL
$username = "analogdepat"; // Nom d'utilisateur
$password = "Un92pac007"; // Mot de passe
$dbname = "analogdepat"; // Nom de la base de données

// Création de la connexion
$conn = new mysqli($servername, $username, $password, $dbname);

// Vérification de la connexion
if ($conn->connect_error) {
    die("La connexion a échoué : " . $conn->connect_error);
}

// Récupérer les données JSON envoyées en POST
$data = json_decode(file_get_contents('php://input'), true);

// Vérifier si les données sont présentes
if ($data) {
    // Préparer la requête d'insertion

    $current_date = date('Y-m-d H:i:s');


    $stmt = $conn->prepare("INSERT INTO checklist (task_index, task_name, task_duration) VALUES (?, ?, ?)");

    if ($stmt === false) {
        die("Erreur lors de la préparation de la requête : " . $conn->error);
    }

    // Variables pour la requête préparée
    $index = 0;
    $name = '';
    $duration = 0;

    // Commencer une transaction
    $conn->begin_transaction();

    // Insérer chaque tâche dans la base de données
    foreach ($data as $task) {
        $index = $task['index'];
        $name = $task['name'];
        $duration = $task['duration'];

        // Lier les paramètres et exécuter la requête
        $stmt->bind_param("isi", $index, $name, $duration);

        // Exécuter la requête pour chaque tâche
        if (!$stmt->execute()) {
            // Si une erreur se produit, annuler la transaction
            $conn->rollback();
            echo json_encode(['status' => 'error', 'message' => 'Erreur lors de l\'insertion de la tâche']);
            $stmt->close();
            $conn->close();
            exit;
        }
    }

    // Valider la transaction
    $conn->commit();

    // Répondre avec un message de succès
    echo json_encode(['status' => 'success', 'message' => 'Checklist enregistrée avec succès']);

    // Fermer la requête et la connexion
    $stmt->close();
    $conn->close();

} else {
    // Si aucune donnée n'est reçue, retourner une erreur
    echo json_encode(['status' => 'error', 'message' => 'Aucune donnée reçue']);
}
?>