0){ $booktypesum["vinaya"]=array(0,0); $booktypesum["sutta"]=array(0,0); $booktypesum["abhidhamma"]=array(0,0); $booktypesum["anna"]=array(0,0); $booktypesum["mula"]=array(0,0); $booktypesum["atthakattha"]=array(0,0); $booktypesum["tika"]=array(0,0); $booktypesum["anna2"]=array(0,0); for($i=0;$i<$iFetch;$i++){ $book=$Fetch[$i]["book"]; $sum=$Fetch[$i]["co"]; array_push($newBookList,array($book,$sum)); $t1=$arrBookType[$book-1]->c1; $t2=$arrBookType[$book-1]->c2; if(isset($booktypesum[$t1])){ $booktypesum[$t1][0]++; $booktypesum[$t1][1]+=$sum; } else{ $booktypesum[$t1][0]=1; $booktypesum[$t1][1]=$sum; } if(isset($booktypesum[$t2])){ $booktypesum[$t2][0]++; $booktypesum[$t2][1]+=$sum; } else{ $booktypesum[$t2][0]=1; $booktypesum[$t2][1]=$sum; } } echo "
"; echo "出现在{$iFetch}本书中:
"; echo "全选
"; echo "律藏-{$booktypesum["vinaya"][0]}-{$booktypesum["vinaya"][1]}
"; echo "经藏-{$booktypesum["sutta"][0]}-{$booktypesum["sutta"][1]}
"; echo "阿毗达摩藏-{$booktypesum["abhidhamma"][0]}-{$booktypesum["abhidhamma"][1]}
"; echo "其他-{$booktypesum["anna"][0]}-{$booktypesum["anna"][1]}

"; echo "根本-{$booktypesum["mula"][0]}-{$booktypesum["mula"][1]}
"; echo "义注-{$booktypesum["atthakattha"][0]}-{$booktypesum["atthakattha"][1]}
"; echo "复注-{$booktypesum["tika"][0]}-{$booktypesum["tika"][1]}
"; echo "其他-{$booktypesum["anna2"][0]}-{$booktypesum["anna2"][1]}

"; for($i=0;$i<$iFetch;$i++){ $book=$Fetch[$i]["book"]; $bookname=_get_book_info($book)->title; if(isset($booklist)){ if(isset($aInputBook["{$book}"])){ $bookcheck="checked"; } else{ $bookcheck=""; } } else{ $bookcheck="checked"; } $t1=$arrBookType[$book-1]->c1; $t2=$arrBookType[$book-1]->c2; echo "
"; echo "
"; } echo ""; echo "
"; } return($newBookList); //查找这些词出现在哪些书中结束 } switch($op){ case "pre"://预查询 { $time_start = microtime_float(); $searching=$arrWordList[count($arrWordList)-1]; $dictFileName=_FILE_DB_WORD_INDEX_; PDO_Connect("sqlite:$dictFileName"); if(count($arrWordList)>1){ echo "
"; foreach($arrWordList as $oneword){ echo $oneword."+"; } echo "
"; } echo "
"; $query = "select word,count from wordindex where \"word_en\" like ".$PDO->quote($searching.'%')." OR \"word\" like ".$PDO->quote($searching.'%')." limit 0,50"; echo $query; $Fetch = PDO_FetchAll($query); $queryTime=(microtime_float()-$time_start)*1000; echo "
搜索时间:$queryTime
"; $iFetch=count($Fetch); if($iFetch>0){ for($i=0;$i<$iFetch;$i++){ $word=$Fetch[$i]["word"]; $count=$Fetch[$i]["count"]; echo "
"; echo "$word-$count"; echo "
"; } } echo "
"; break; } case "search": { if(count($arrWordList)>1){ $strQuery=""; foreach($arrWordList as $oneword){ $strQuery.="\"text\" like \"% {$oneword} %\" AND"; } $strQuery = substr($strQuery,0,-3); $dictFileName=_FILE_DB_PALITEXT_; PDO_Connect("sqlite:$dictFileName"); $query = "SELECT book,paragraph, html FROM pali_text WHERE {$strQuery} LIMIT 0,20"; $Fetch = PDO_FetchAll($query); echo "
$query
"; $iFetch=count($Fetch); foreach($Fetch as $row){ $html = $row["html"]; foreach($arrWordList as $oneword){ $html=str_replace($oneword,"{$oneword}",$html); } echo "
{$html}
"; } return; } $strDictTab="
  • 字典
  • "; //加语尾 $arrNewWord=array(); for ($row = 0; $row < count($case); $row++) { $len=mb_strlen($case[$row][0],"UTF-8"); $end=mb_substr($word, 0-$len,NULL,"UTF-8"); if($end==$case[$row][0]){ $newWord=mb_substr($word, 0,mb_strlen($word,"UTF-8")-$len,"UTF-8").$case[$row][1]; $arrNewWord[$newWord]=1; } } //加连读词尾 $arrUnWord=array(); for ($row = 0; $row < count($union); $row++) { $len=mb_strlen($union[$row][0],"UTF-8"); foreach($arrNewWord as $x=>$x_value){ $end=mb_substr($x, 0-$len,NULL,"UTF-8"); if($end==$union[$row][0]){ $newWord=mb_substr($x, 0,mb_strlen($x,"UTF-8")-$len,"UTF-8").$union[$row][1]; $arrUnWord[$newWord]=1; } } } //将连读词和$arrNewWord混合 foreach($arrUnWord as $x=>$x_value){ $arrNewWord[$x]=1; } if(count($arrNewWord)>0){ $strQueryWord="("; foreach($arrNewWord as $x=>$x_value) { $strQueryWord.="'{$x}',"; } $strQueryWord=mb_substr($strQueryWord, 0,mb_strlen($strQueryWord,"UTF-8")-1,"UTF-8"); $strQueryWord.=")"; } else{ $strQueryWord="('{$word}')"; } //查找实际出现的拼写 $time_start = microtime_float(); $dictFileName=_FILE_DB_WORD_INDEX_; PDO_Connect("sqlite:$dictFileName"); $query = "select id,word,count from wordindex where \"word\" in $strQueryWord"; $arrRealWordList = PDO_FetchAll($query); $countWord=count($arrRealWordList); if($countWord==0){ echo "

    没有查到。可能是拼写有问题。

    "; exit; } echo "
    "; //主显示区开始 echo "
    "; //主显示区左侧开始 echo "
    "; echo ""; echo "
    共{$countWord}单词符合
    "; $strQueryWordId="(";//实际出现的单词id查询字串 $aQueryWordList=array();//id 为键 拼写为值的数组 $aShowWordList=array();//拼写为键 个数为值的数组 $aShowWordIdList=array();//拼写为键 值Id的数组 for($i=0;$i<$countWord;$i++){ $value= $arrRealWordList[$i]; $strQueryWordId.="'{$value["id"]}',"; $aQueryWordList["{$value["id"]}"]=$value["word"]; $aShowWordList[$value["word"]]=$value["count"]; $aShowWordIdList[$value["word"]]=$value["id"]; } $strQueryWordId=mb_substr($strQueryWordId, 0,mb_strlen($strQueryWordId,"UTF-8")-1,"UTF-8"); $strQueryWordId.=")"; $queryTime=(microtime_float()-$time_start)*1000; //显示单词列表 echo "
    "; echo "全选
    "; arsort($aShowWordList); $i=0; foreach($aShowWordList as $x=>$x_value) { $wordid=$aShowWordIdList[$x]; echo ""; echo ""; echo $x.":".$x_value."
    "; echo "
    "; $i++; } echo ""; echo "
    "; //查找这些词出现在哪些书中 echo "
    "; $booklist=render_book_list($strQueryWordId); echo "
    "; $wordInBookCounter=0; $strFirstBookList="("; foreach($booklist as $onebook){ $wordInBookCounter+=$onebook[1]; $strFirstBookList.="'".$onebook[0]."',"; if($wordInBookCounter>=20){ break; } } $strFirstBookList=mb_substr($strFirstBookList, 0,mb_strlen($strFirstBookList,"UTF-8")-1,"UTF-8"); $strFirstBookList.=")"; echo "
    "; //黑体字主显示区左侧结束 //黑体字主显示区右侧开始 echo "
    "; //前20条记录 $time_start=microtime_float(); $dictFileName=_FILE_DB_PALI_INDEX_; PDO_Connect("sqlite:$dictFileName"); $query = "SELECT book,paragraph, wordindex FROM word WHERE \"wordindex\" in $strQueryWordId and book in $strFirstBookList group by book,paragraph LIMIT 0,20"; $Fetch = PDO_FetchAll($query); //echo "
    $query
    "; $queryTime=(microtime_float()-$time_start)*1000; $iFetch=count($Fetch); if($iFetch>0){ $dictFileName=_FILE_DB_PALITEXT_; PDO_Connect("sqlite:$dictFileName"); for($i=0;$i<$iFetch;$i++){ $paliwordid=$Fetch[$i]["wordindex"]; $paliword=$aQueryWordList["{$paliwordid}"]; $book=$Fetch[$i]["book"]; $paragraph=$Fetch[$i]["paragraph"]; $bookInfo = _get_book_info($book); $bookname=$bookInfo->title; $c1=$bookInfo->c1; $c2=$bookInfo->c2; $c3=$bookInfo->c3; echo "
    "; echo "
    $paliword

    "; $path_1 = $c1.">"; if($c2 !== ""){ $path_1=$path_1.$c2.">"; } if($c3 !== ""){ $path_1=$path_1.$c3.">"; } $path_1=$path_1."《{$bookname}》>"; $query = "select * from pali_text where \"book\" = '{$book}' and \"paragraph\" = '{$paragraph}' limit 0,1"; $FetchPaliText = PDO_FetchAll($query); $countPaliText=count($FetchPaliText); if($countPaliText>0){ $path=""; $parent = $FetchPaliText[0]["parent"]; $deep=0; $sFirstParentTitle=""; //循环查找父标题 得到整条路径 while($parent>-1){ $query = "select * from pali_text where \"book\" = '{$book}' and \"paragraph\" = '{$parent}' limit 0,1"; $FetParent = PDO_FetchAll($query); $path="{$FetParent[0]["toc"]}>{$path}"; if($sFirstParentTitle==""){ $sFirstParentTitle = $FetParent[0]["toc"]; } $parent = $FetParent[0]["parent"]; $deep++; if($deep>5){ break; } } $path=$path_1.$path."para. ".$paragraph; echo "
    $path
    "; for($iPali=0;$iPali<$countPaliText;$iPali++){ if(substr($paliword,-1)=="n"){ $paliword=substr($paliword,0,-1); } $htmltext=$FetchPaliText[0]["html"]; $light_text=str_replace($paliword,"{$paliword}",$htmltext); echo "
    {$light_text}
    "; } //echo "
    {$light_text}
    "; echo "
    "; } echo "
    "; } } $queryTime=(microtime_float()-$time_start)*1000; echo "
    搜索时间:$queryTime
    "; echo "
    "; //黑体字主显示区右侧结束 echo "
    "; //黑体字主显示区结束 echo "
    "; //查黑体字结束 echo "
    $strDictTab
    "; break; } case "update": $target=$_GET["target"]; switch($target){ case "bold"; $wordlist=$_GET["wordlist"]; $booklist=$_GET["booklist"]; $aBookList=ltrim($booklist,"("); $aBookList=rtrim($aBookList,")"); $aBookList=str_replace("'","",$aBookList); $aBookList=str_getcsv($aBookList); $arrBookType=json_decode(file_get_contents("../public/book_name/booktype.json")); //查找这些词出现在哪些书中 $newBookList=render_book_list($wordlist,$aBookList); //前20条记录 $time_start=microtime_float(); $dictFileName=_FILE_DB_PALI_INDEX_; PDO_Connect("sqlite:$dictFileName"); $query = "select * from word where \"wordindex\" in $wordlist and \"book\" in $booklist group by book,paragraph limit 0,20"; $Fetch = PDO_FetchAll($query); //echo "
    $query
    "; $queryTime=(microtime_float()-$time_start)*1000; echo "
    搜索时间:$queryTime
    "; $iFetch=count($Fetch); if($iFetch>0){ $dictFileName=_FILE_DB_PALITEXT_; PDO_Connect("sqlite:$dictFileName"); for($i=0;$i<$iFetch;$i++){ $paliword=$Fetch[$i]["wordindex"]; //$paliword=$wordlist["{$paliwordid}"]; $book=$Fetch[$i]["book"]; $bookInfo = _get_book_info($book); $bookname=$bookInfo->title; $c1=$bookInfo->c1; $c2=$bookInfo->c2; $c3=$bookInfo->c3; $paragraph=$Fetch[$i]["paragraph"]; $path_1 = $c1.">"; if($c2 !== ""){ $path_1=$path_1.$c2.">"; } if($c3 !== ""){ $path_1=$path_1.$c3.">"; } $path_1=$path_1."《{$bookname}》>"; echo "
    "; echo "
    《{$bookname}》 $c1 $c2
    "; echo "
    $paliword
    "; $query = "select * from pali_text where \"book\" = '{$book}' and \"paragraph\" = '{$paragraph}' limit 0,20"; $FetchPaliText = PDO_FetchAll($query); $countPaliText=count($FetchPaliText); if($countPaliText>0){ for($iPali=0;$iPali<$countPaliText;$iPali++){ $path=""; $parent = $FetchPaliText[0]["parent"]; $deep=0; $sFirstParentTitle=""; while($parent>-1){ $query = "select * from pali_text where \"book\" = '{$book}' and \"paragraph\" = '{$parent}' limit 0,1"; $FetParent = PDO_FetchAll($query); if($sFirstParentTitle==""){ $sFirstParentTitle = $FetParent[0]["toc"]; } $path="{$FetParent[0]["toc"]}>{$path}"; $parent = $FetParent[0]["parent"]; $deep++; if($deep>5){ break; } } $path=$path_1.$path."No. ".$paragraph; echo "
    $path
    "; //echo "
    $paliword
    "; if(substr($paliword,-1)=="n"){ $paliword=substr($paliword,0,-1); } $light_text=str_replace($paliword,"{$paliword}",$FetchPaliText[$iPali]["html"]); echo "
    {$light_text}
    "; echo "
    "; } } echo "
    "; } } break; } break; } ?>