소스 파일 : /search/srch_display.php (2020-08-25)     소스 설명 : (용어검색) 용어해설 검색 결과(타이틀) 표출
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
<?php // (2020.8.25, 차재복, Cha Jae Bok, cjbword@gmailcom)

function srch_display($sh, $cur_page, $page_info, $is_1st_char, $dbi) {

	# 해당 페이지 쿼리 및 출력
	echo "<div style='margin-left:10px; line-height:200%;'>";

		// 함수 모음 포함
		include_once "../base_utils/common_utils.php"; // pair_delimiter() 함수 준비

		// 쿼리문 (개선용)
		$f_query_vars['limit'] = "limit {$page_info[start_record]},{$page_info[page_records]}"; // 쿼리문 중 limt 구문
		$f_query_vars['is_1st_char'] = $is_1st_char; // 첫 글자 검색 유무

        $query = f_query($sh, $f_query_vars);

		// 쿼리 수행
		$result=mysqli_query($dbi,$query);
			if (mysqli_errno($dbi)) { echo mysqli_errno($dbi)." : ".mysqli_error($dbi)."\n";}

		while ( $matched=mysqli_fetch_assoc($result) ) {
			// 주 타이틀
			echo "<a href='../view/view.php?nav=2&no=".$matched[no]."&sh=".urlencode($sh)."' style='font-size:14px;'>";
				echo pair_delimiter($matched[word],'[',']');
			echo "</a>";

			// 유사 타이틀 모두
			$titles = 
				( empty($matched[yako]) ? "" : $matched[yako]."," ).
				( empty($matched[full_name]) ? "" : $matched[full_name]."," ).
				( empty($matched[korean]) ? "" : $matched[korean]."," ).
				$matched[extra_keyword];
			echo " &nbsp;&nbsp;&nbsp; ";
	        echo "<a href='../view/view.php?nav=2&no=".$matched[no]."&sh=".urlencode($sh)."' style='text-decoration:none;'>";
    					$titles = pair_delimiter($titles,'[',']');
	    				$titles = str_replace(',',', ',$titles);
		    			$titles = str_replace(' ,',',',$titles);
			    		$titles = trim($titles,', ');
				    	echo $titles;
            echo "</a>";

			// 편집자이면, 검색결과 세부사항 출력 
			if ( !empty($_SESSION['user_name']) ) { // 편집자 여부
				$langType = ( preg_match("/[\x{ac00}-\x{d7a3}][\x{ac00}-\x{d7a3}]/u", $sh) ? "한글" : "영어" );
				echo "<span style='margin-left:20px;font-size:12px;'>";
					echo "(검색어:{$sh},언어:{$langType}, ...)";
				echo "</span>";
			}

			// 요약 
			echo "<div style='margin-left:20px;'>";
				// 검색 문자열을 빈 칸 위주로 구분시켜 배열화
				$words = explode(' ',$sh);
				// 검색 문자열 좌측부터 먼저 일치하는 부분 화면에 보임
				foreach ($words as $key => $value) {
					$pos = mb_stripos($matched[abbr],$value,0,'utf-8');
					if ($pos === false) continue;
					$extract = mb_substr($matched[abbr],$pos,200,'utf-8'); //80

					$echo_value = strip_tags($value);
					$echo_extract = strip_tags($extract);
					echo str_replace($echo_value,'<b>'.$echo_value.'</b>',$echo_extract);

					if ($pos !== false) break;
				}
				if ($pos === false) 
					echo strip_tags($matched[synopsis]);
			echo "</div>";

			// 분류
			echo "<div style='margin-left:40px;'>";
				srch_bunryu ($matched[no],$dbi);
			echo "</div>";

			// 줄바꿈
			echo "<br>";		
		}

	echo "</div>";

}

?>

PHP 키워드 : $_SESSION, echo, empty, foreach, function, include, include_once, mb_substr, mysqli_errno, mysqli_error, mysqli_fetch_assoc, mysqli_query, preg_match, str_replace, substr

Copyrightⓒ 차재복 (Cha Jae Bok)     「 소액후원 」 [ 최근편집 : 스피커(9월24일)  연결 리스트(9월24일)  선형 리스트(9월24일)  리스트(9월24일)  결상식(9월23일)  . . . ]

   소스 이력    소스 폴더    소스 언어