related_para.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. /*
  3. *查询相关联的书
  4. *mula->attakhata->tika
  5. *算法:
  6. *在原始的html 文件里 如 s0404m1.mul.htm 有 <a name="para2_an8"></a>
  7. * 在 so404a.att.htm 里也有 </a><a name="para2_an8"></a>
  8. * 这说明这两个段落是关联段落,para2是段落编号 an8是书名只要书名一样,段落编号一样。
  9. * 两个就是关联段落
  10. *
  11. * 表名:cs6_para
  12. * 所以数据库结构是
  13. * book 书号 1-217
  14. * para 段落号
  15. * bookid
  16. * cspara 上述段落号
  17. * book_name 上述书名
  18. *
  19. * 输入 book para
  20. * 查询书名和段落号
  21. * 输入这个书名和段落号
  22. * 查询有多少段落有一样的书名和段落号
  23. * 有些book 里面有两本书。所以又加了一个bookid
  24. * 每个bookid代表一本真正的书。所以bookid 要比 book 多
  25. * bookid 是为了输出书名用的。不是为了查询相关段落
  26. *
  27. * 数据要求:
  28. * 制作时包含全部段落。做好后把没有相关段落的段落删掉??
  29. *
  30. */
  31. require_once "../public/_pdo.php";
  32. require_once "../config.php";
  33. $result["error"] = "";
  34. $result["data"] = array();
  35. if (isset($_GET["book"])) {
  36. $book = $_GET["book"];
  37. } else {
  38. $result["error"] = "no param:book";
  39. echo json_encode($result, JSON_UNESCAPED_UNICODE);
  40. exit;
  41. }
  42. if (isset($_GET["para"])) {
  43. $para = $_GET["para"];
  44. } else {
  45. $result["error"] = "no param :para";
  46. echo json_encode($result, JSON_UNESCAPED_UNICODE);
  47. exit;
  48. }
  49. PDO_Connect(_FILE_DB_PAGE_INDEX_);
  50. $query = "SELECT bookid,cspara ,book_name FROM cs6_para where book = ? and para= ? and cspara > 0";
  51. $fetch = PDO_FetchAll($query, array($book, $para));
  52. if (count($fetch) > 0) {
  53. $aBookid = array();
  54. $place_holders = implode(',', array_fill(0, count($fetch), '?'));
  55. $query = "SELECT book, para,bookid from cs6_para where book_name = ? and cspara in ($place_holders) ";
  56. $param[] = $fetch[0]["book_name"];
  57. foreach ($fetch as $key => $value) {
  58. $param[] = $value["cspara"];
  59. }
  60. $fetchAllPara = PDO_FetchAll($query, $param);
  61. foreach ($fetchAllPara as $bookid) {
  62. $aBookid["{$bookid["bookid"]}"] = 1;
  63. }
  64. $result["data"] = $fetchAllPara;
  65. $result["curr_book_id"] = $fetch[0]["bookid"];
  66. //获取书名 列表
  67. $book_list = array();
  68. PDO_Connect(_FILE_DB_PALITEXT_);
  69. foreach ($aBookid as $bookkey => $bookvalue) {
  70. # code...
  71. $query = "SELECT * from "._TABLE_PALI_BOOK_NAME_." where id = ? ";
  72. $book_list[] = PDO_FetchRow($query,array($bookkey));
  73. }
  74. $result["book_list"] = $book_list;
  75. }
  76. echo json_encode($result, JSON_UNESCAPED_UNICODE);