db_update_cs6_para.php 1.6 KB

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