2
0

word_statistics.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <?php
  2. //全文搜索
  3. require_once '../path.php';
  4. require_once '../public/casesuf.inc';
  5. require_once '../public/union.inc';
  6. require_once "../public/_pdo.php";
  7. require_once "../public/load_lang.php";//语言文件
  8. require_once "../public/function.php";
  9. require_once "../search/word_function.php";
  10. $resulte = array();
  11. $resulte[] = array("id"=>"0.0", 'parent' => '', 'name' => '全部' );
  12. $resulte[] = array("id"=>"sutta", 'parent' => '0.0', 'name' => '经藏' );
  13. $resulte[] = array("id"=>"vinaya", 'parent' => '0.0', 'name' => '律藏' );
  14. $resulte[] = array("id"=>"abhidhamma", 'parent' => '0.0', 'name' => '论藏' );
  15. $resulte[] = array("id"=>"anna", 'parent' => '0.0', 'name' => '其他' );
  16. $resulte[] = array("id"=>"sutta.mula", 'parent' => 'sutta', 'name' => '根本' );
  17. $resulte[] = array("id"=>"sutta.atthakattha", 'parent' => 'sutta', 'name' => '义注' );
  18. $resulte[] = array("id"=>"sutta.tika", 'parent' => 'sutta', 'name' => '复注' );
  19. $resulte[] = array("id"=>"sutta.anna", 'parent' => 'sutta', 'name' => '其他' );
  20. $resulte[] = array("id"=>"vinaya.mula", 'parent' => 'vinaya', 'name' => '根本' );
  21. $resulte[] = array("id"=>"vinaya.atthakattha", 'parent' => 'vinaya', 'name' => '义注' );
  22. $resulte[] = array("id"=>"vinaya.tika", 'parent' => 'vinaya', 'name' => '复注' );
  23. $resulte[] = array("id"=>"vinaya.anna", 'parent' => 'vinaya', 'name' => '其他' );
  24. $resulte[] = array("id"=>"abhidhamma.mula", 'parent' => 'abhidhamma', 'name' => '根本' );
  25. $resulte[] = array("id"=>"abhidhamma.atthakattha", 'parent' => 'abhidhamma', 'name' => '义注' );
  26. $resulte[] = array("id"=>"abhidhamma.tika", 'parent' => 'abhidhamma', 'name' => '复注' );
  27. $resulte[] = array("id"=>"abhidhamma.anna", 'parent' => 'abhidhamma', 'name' => '其他' );
  28. $resulte[] = array("id"=>"anna.atthakattha", 'parent' => 'anna', 'name' => '义注' );
  29. $resulte[] = array("id"=>"anna.tika", 'parent' => 'anna', 'name' => '复注' );
  30. $resulte[] = array("id"=>"anna.anna2", 'parent' => 'anna', 'name' => '其他' );
  31. if(isset($_GET["word"])){
  32. $word=mb_strtolower($_GET["word"],'UTF-8');
  33. }
  34. else{
  35. echo json_encode($resulte,JSON_UNESCAPED_UNICODE);
  36. exit;
  37. }
  38. _load_book_index();
  39. $count_return=0;
  40. $dict_list=array();
  41. //计算某词在三藏中出现的次数
  42. $arrRealWordList = countWordInPali($word);
  43. $countWord=count($arrRealWordList);
  44. if($countWord==0){
  45. echo "<p>没有查到。可能是拼写有问题。</p>";
  46. exit;
  47. }
  48. $strQueryWordId="(";//实际出现的单词id查询字串
  49. $aQueryWordList=array();//id 为键 拼写为值的数组
  50. $aShowWordList=array();//拼写为键 个数为值的数组
  51. $aShowWordIdList=array();//拼写为键 值Id的数组
  52. for($i=0;$i<$countWord;$i++){
  53. $value= $arrRealWordList[$i];
  54. $strQueryWordId.="'{$value["id"]}',";
  55. $aQueryWordList["{$value["id"]}"]=$value["word"];
  56. $aShowWordList[$value["word"]]=$value["count"];
  57. $aShowWordIdList[$value["word"]]=$value["id"];
  58. }
  59. $strQueryWordId=mb_substr($strQueryWordId, 0,mb_strlen($strQueryWordId,"UTF-8")-1,"UTF-8");
  60. $strQueryWordId.=")";
  61. //显示单词列表
  62. arsort($aShowWordList);
  63. $i=0;
  64. foreach($aShowWordList as $x=>$x_value) {
  65. $wordid=$aShowWordIdList[$x];
  66. //echo $x.":".$x_value."<br />";
  67. $i++;
  68. }
  69. //查找这些词出现在哪些书中
  70. $arrBookType=json_decode(file_get_contents("../public/book_name/booktype.json"));
  71. $dictFileName=_FILE_DB_BOOK_WORD_;
  72. PDO_Connect("sqlite:$dictFileName");
  73. if(isset($booklist)){
  74. foreach($booklist as $oneBook){
  75. $aInputBook["{$oneBook}"]=1;
  76. }
  77. }
  78. $query = "select book,sum(count) as co from bookword where \"wordindex\" in $strQueryWordId group by book order by co DESC";
  79. $Fetch = PDO_FetchAll($query);
  80. $iFetch=count($Fetch);
  81. $newBookList=array();
  82. if($iFetch>0){
  83. for($i=0;$i<$iFetch;$i++){
  84. $book=$Fetch[$i]["book"];
  85. $sum=$Fetch[$i]["co"];
  86. $sum = $sum + 1;
  87. $sum--;
  88. array_push($newBookList,array($book,$sum));
  89. $t1=$arrBookType[$book-1]->c1;
  90. $t2=$arrBookType[$book-1]->c2;
  91. $resulte[] = array("id"=>"book".$book, 'parent' => $t1.'.'.$t2, 'name' => _get_book_info($book)->title, 'value' => $sum );
  92. }
  93. }
  94. echo json_encode($resulte,JSON_UNESCAPED_UNICODE);
  95. ?>