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']);
}
?>