2
0

word_statistics.php 4.4 KB

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