File "saveData.php"
Full Path: /home/analogde/www/ONSEMI/Dev tableau/saveData.php
File size: 4.74 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/*
CREATE TABLE tableau_json (
id INT AUTO_INCREMENT PRIMARY KEY,
data JSON NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
*/
//header("Content-Type: application/json");
// Récupérer les données JSON envoyées par le JavaScript
$data = json_decode(file_get_contents('php://input'), true);
// Sauvegarder les données dans un fichier texte
$file_path = 'data_received.txt'; // Chemin du fichier texte
if (file_exists($file_path))
{
unlink($file_path);
}
// Convertir les données en chaîne JSON pour les sauvegarder
$data_json = json_encode($data, JSON_PRETTY_PRINT);
// Écrire les données dans le fichier
file_put_contents($file_path, $data_json . "\n", FILE_APPEND); // Utilisation de FILE_APPEND pour ajouter sans écraser
// Connexion à la base de données
$servername = "analogdepat.mysql.db";
$database = "analogdepat";
$username = "analogdepat";
$password = "Un92pac007";
$conn = new mysqli($servername, $username, $password, $database);
if ($conn->connect_error)
{
die(json_encode(["status" => "error", "message" => "Erreur de connexion: " . $conn->connect_error]));
}
// Lire le JSON reçu
$data = file_get_contents("php://input");
$file_path = 'data_received.txt'; // Chemin du fichier texte
$data_json = json_encode($data, JSON_PRETTY_PRINT);
file_put_contents($file_path, $data_json . "\n", FILE_APPEND); // Utilisation de FILE_APPEND pour ajouter sans écraser
if (!$data)
{
die(json_encode(["status" => "error", "message" => "Données invalides"]));
}
// Préparation de la requête SQL
$stmt = $conn->prepare("INSERT INTO tableau_json (data, created_at) VALUES (?, NOW())");
if (!$stmt) {
die(json_encode(["status" => "error", "message" => "Erreur SQL: " . $conn->error]));
}
$stmt->bind_param("s", $data);
if (!$stmt->execute()) {
die(json_encode(["status" => "error", "message" => "Erreur lors de l'insertion: " . $stmt->error]));
}
// Succès
echo json_encode(["status" => "success", "message" => "Données enregistrées"]);
$stmt->close();
$conn->close();
///////////////////echo json_encode(["status" => "success", "message" => "Données enregistrées"]);
// Configuration de la base de données
/*
$host = 'localhost'; // Hôte de la base de données
$dbname = 'nom_de_ton_db'; // Nom de la base de données
$username = 'ton_utilisateur'; // Nom d'utilisateur de la base de données
$password = 'ton_mot_de_passe'; // Mot de passe de la base de données
// Connexion à la base de données avec mysqli
$conn = new mysqli($host, $username, $password, $dbname);
// Vérification de la connexion
if ($conn->connect_error) {
die("Échec de la connexion : " . $conn->connect_error);
}
// Récupérer les données JSON envoyées par le JavaScript
$data = json_decode(file_get_contents('php://input'), true);
// Vérifier que les données sont valides
if (empty($data)) {
echo json_encode(['status' => 'error', 'message' => 'Aucune donnée reçue']);
exit();
}
// Préparer la requête d'insertion dans la base de données
$query = "INSERT INTO table_name (champ1, champ2, champ3) VALUES (?, ?, ?)";
// Utiliser une transaction pour insérer plusieurs lignes
$conn->begin_transaction();
try {
$stmt = $conn->prepare($query);
if ($stmt === false) {
throw new Exception('Erreur de préparation de la requête : ' . $conn->error);
}
// Lier les paramètres pour la requête préparée
$stmt->bind_param("sss", $champ1, $champ2, $champ3); // "sss" signifie que les trois paramètres sont des chaînes (STRING)
foreach ($data as $row) {
// Le premier élément va dans le champ1
$champ1 = $row[0];
// Le second élément va dans le champ2
$champ2 = $row[1];
// Tous les autres éléments seront regroupés dans une chaîne, séparée par des virgules
$champ3 = implode(",", array_slice($row, 2)); // Prend les éléments à partir du 3ème et les joins par une virgule
// Exécuter la requête d'insertion
if (!$stmt->execute()) {
throw new Exception('Erreur lors de l\'exécution de la requête : ' . $stmt->error);
}
}
// Commit de la transaction si tout est OK
$conn->commit();
echo json_encode(['status' => 'success', 'message' => 'Données sauvegardées avec succès']);
} catch (Exception $e) {
// Rollback si une erreur survient
$conn->rollback();
echo json_encode(['status' => 'error', 'message' => 'Erreur lors de l\'insertion dans la base de données : ' . $e->getMessage()]);
}
// Fermer la connexion
$stmt->close();
$conn->close();
*/
?>