get_chapter_children.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. require_once '../path.php';
  3. $dns = "sqlite:"._FILE_DB_PALI_TOC_;
  4. $dbh_toc = new PDO($dns, "", "",array(PDO::ATTR_PERSISTENT=>true));
  5. $dbh_toc->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
  6. $dns = "sqlite:"._FILE_DB_PALITEXT_;
  7. $dbh_pali_text = new PDO($dns, "", "",array(PDO::ATTR_PERSISTENT=>true));
  8. $dbh_pali_text->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
  9. if(isset($_GET["book"])){
  10. $book = $_GET["book"];
  11. }
  12. if(isset($_GET["para"])){
  13. $para = $_GET["para"];
  14. }
  15. $query = "SELECT chapter_len FROM pali_text WHERE book = ? and paragraph = ?";
  16. $stmt = $dbh_pali_text->prepare($query);
  17. $stmt->execute(array($book,$para));
  18. $paraInfo = $stmt->fetch(PDO::FETCH_ASSOC);
  19. if($paraInfo){
  20. $query = "SELECT level FROM pali_text WHERE book = ? and (paragraph between ? and ?) and level<8 order by level ASC limit 0,1";
  21. $stmt = $dbh_pali_text->prepare($query);
  22. $stmt->execute(array($book,$para+1,$para+$paraInfo["chapter_len"]));
  23. $paraMax = $stmt->fetch(PDO::FETCH_ASSOC);
  24. if($paraMax){
  25. $query = "SELECT book, paragraph, level , toc as title FROM pali_text WHERE book = ? and (paragraph between ? and ?) and level = ? limit 0,1000";
  26. $stmt = $dbh_pali_text->prepare($query);
  27. $stmt->execute(array($book,$para,$para+$paraInfo["chapter_len"],$paraMax["level"]));
  28. $paraList = $stmt->fetchAll(PDO::FETCH_ASSOC);
  29. foreach ($paraList as $key => $value) {
  30. # 查进度
  31. $query = "SELECT lang, all_trans from progress_chapter where book=? and para=?";
  32. $stmt = $dbh_toc->prepare($query);
  33. $sth_toc = $dbh_toc->prepare($query);
  34. $sth_toc->execute(array($book,$para));
  35. $paraProgress = $sth_toc->fetchAll(PDO::FETCH_ASSOC);
  36. $paraList[$key]["progress"]=$paraProgress;
  37. }
  38. echo json_encode($paraList, JSON_UNESCAPED_UNICODE);
  39. }
  40. else{
  41. echo json_encode(array(), JSON_UNESCAPED_UNICODE);
  42. }
  43. }
  44. else{
  45. echo json_encode(array(), JSON_UNESCAPED_UNICODE);
  46. }
  47. ?>