db_update_cs6_para.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. #将cscd4 段落编号插入数据库 用于义注跳转
  3. require_once "../public/_pdo.php";
  4. require_once "../path.php";
  5. PDO_Connect(_FILE_DB_PALITEXT_);
  6. $query = "SELECT * from books where 1";
  7. $books = PDO_FetchAll($query);
  8. PDO_Connect(_FILE_DB_PAGE_INDEX_);
  9. // 打开文件并读取数据
  10. $irow = 0;
  11. if (($fp = fopen("./cs6_para.csv", "r")) !== false) {
  12. // 开始一个事务,关闭自动提交
  13. $PDO->beginTransaction();
  14. $query = "INSERT INTO cs6_para ('book','para','bookid','cspara','book_name') VALUES ( ? , ? , ? , ? , ? )";
  15. $stmt = $PDO->prepare($query);
  16. // 提交更改
  17. try {
  18. while (($data = fgetcsv($fp, 0, ',')) !== false) {
  19. $irow++;
  20. if ($irow > 1) {
  21. $book_id = 0;
  22. foreach ($books as $key => $value) {
  23. # code...
  24. if ($value["book"] == $data[0] && $data[1] >= $value["paragraph"]) {
  25. $book_id = $value["id"];
  26. break;
  27. }
  28. }
  29. if ($data[3] == $data[4]) {
  30. $stmt->execute(array($data[0], $data[1], $book_id, $data[3], $data[2]));
  31. } else {
  32. $begin = (int) $data[3];
  33. $end = (int) $data[4];
  34. $arr1 = array();
  35. for ($i = $begin; $i <= $end; $i++) {
  36. $arr1[] = $i;
  37. }
  38. foreach ($arr1 as $key => $value) {
  39. $stmt->execute(array($data[0], $data[1], $book_id, $value, $data[2]));
  40. }
  41. }
  42. }
  43. }
  44. $PDO->commit();
  45. } catch (Exception $e) {
  46. var_dump($e);
  47. $PDO->rollback();
  48. }
  49. if (!$stmt || ($stmt && $stmt->errorCode() != 0)) {
  50. $error = PDO_ErrorInfo();
  51. echo "error - $error[2] \n";
  52. } else {
  53. echo "updata recorders.\n";
  54. }
  55. fclose($fp);
  56. } else {
  57. echo "can not open csv file. cs6_para.csv";
  58. }
  59. echo "齐活!功德无量!all done!";