save.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. include "../path.php";
  3. include "../public/_pdo.php";
  4. if (isset($_POST['dict_id'])) {
  5. $dict_id = $_POST['dict_id'];
  6. } else {
  7. $dict_id = -1;
  8. }
  9. if (isset($_POST['word_id'])) {
  10. $word_id = $_POST['word_id'];
  11. } else {
  12. $word_id = -1;
  13. }
  14. if (isset($_POST['data'])) {
  15. $data = $_POST['data'];
  16. } else {
  17. $data = "";
  18. }
  19. if (isset($_POST['word_status'])) {
  20. $status = $_POST['word_status'];
  21. } else {
  22. $status = "1";
  23. }
  24. $dictFileName = _FILE_DB_REF_;
  25. PDO_Connect("$dictFileName");
  26. $query = "update dict set status='$status' where id='$word_id'";
  27. $stmt = @PDO_Execute($query);
  28. if (!$stmt || ($stmt && $stmt->errorCode() != 0)) {
  29. $error = PDO_ErrorInfo();
  30. print_r($error[2]);
  31. }
  32. $dictFileName = $dir_dict_3rd . "all.db3";
  33. PDO_Connect("$dictFileName");
  34. $query = "DELETE FROM dict WHERE \"from\" = '$word_id' ";
  35. $stmt = @PDO_Execute($query);
  36. if (!$stmt || ($stmt && $stmt->errorCode() != 0)) {
  37. $error = PDO_ErrorInfo();
  38. print_r($error[2]);
  39. } else {
  40. }
  41. $word_data = json_decode($data);
  42. //print_r($word_data);
  43. //echo "pali:".$word_data[0]->pali."<br>";
  44. // 开始一个事务,关闭自动提交
  45. $PDO->beginTransaction();
  46. $query = "INSERT INTO dict ('id','pali','type','gramma','parent','mean','note','factors','factormean','dict_id','from')
  47. VALUES (NULL,?,?,?,?,?,?,?,?,?,?)";
  48. $stmt = $PDO->prepare($query);
  49. foreach ($word_data as $value) {
  50. $newData = array($value->pali,
  51. $value->type,
  52. $value->gramma,
  53. $value->parent,
  54. $value->mean,
  55. $value->note,
  56. $value->factor,
  57. $value->factor_mean,
  58. $dict_id,
  59. $word_id);
  60. $stmt->execute($newData);
  61. }
  62. // 提交更改
  63. $PDO->commit();
  64. if (!$stmt || ($stmt && $stmt->errorCode() != 0)) {
  65. $error = PDO_ErrorInfo();
  66. echo "error - $error[2] <br>";
  67. } else {
  68. echo "成功提交" . count($word_data) . "条数据。";
  69. }