_importDataNotes.php_ 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. require_once "libs/fnMain.php";
  3. $_SETTINGS = require "libs/_settings.php";
  4. if (isset($_POST["csv"])) {
  5. // On parse le fichier CSV reçu
  6. $tempCsvByRow = explode("\n", $_POST["csv"]);
  7. array_shift($tempCsvByRow); // Enlève la 1ère ligne listant les colonnes
  8. $csvArray = [];
  9. foreach ($tempCsvByRow as $row) {
  10. $csvArray[] = str_getcsv($row, ",");
  11. }
  12. // On enregistre les data dans la BDD
  13. $sql = "INSERT INTO notes_rang(annee, note, classement) VALUE (:annee, :note, :classement)";
  14. $reqInsertRangLimites = $db->prepare($sql);
  15. foreach ($csvArray as $item) {
  16. $reqInsertRangLimites->execute([
  17. "annee" => $item[1],
  18. "note" => $item[3],
  19. "classement" => $item[2]
  20. ]);
  21. }
  22. echo "Valeurs enregistrées";
  23. } else {
  24. // Affichage du formulaire d'import
  25. ?>
  26. <!doctype html>
  27. <html lang="fr">
  28. <head>
  29. <meta charset="UTF-8">
  30. <meta name="viewport"
  31. content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  32. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  33. <title>IMPORT NOTES et RANGS</title>
  34. <link rel="stylesheet" href="assets/bootstrap.min.css">
  35. <link rel="stylesheet" href="assets/divers.css">
  36. </head>
  37. <body>
  38. <h1>RangLimier - Import des notes et rangs associés</h1>
  39. <p>Importation des données en CSV en DB.</p>
  40. <form action="_importDataNotes.php" method="post">
  41. <label for="csv">Ajouter le CSV ici (sous la forme "Session,Year,Rank,Total") </label> <br>
  42. <textarea name="csv"></textarea> <br>
  43. <button type="submit" class="btn btn-info">Envoyer</button>
  44. </form>
  45. </body>
  46. </html>
  47. <?php }