소스 파일명 : view_contents_display.php
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
<?php // (2018.4.14, 차재복, Cha Jae Bok, cjbword@gmailcom) 

# contents_display.php
	// 화면 우측에 navigation menu 출력하는 프로그램

# 전달 파라미터 : $set, $cur_path, $dbi, $m_temp1
	// $set : db 쿼리된 순서화된 레코드 결과 집합
	// $cur_path : 현재 path 정보 (`0,...` 처럼 보임)
	// $dbi : mysqli 연결 리소스

# 목록 출력
	echo "<ol>";
	foreach ($set as $key => $value) {

		// 항목 레벨 깊이 차이 계산
		$diff = ($set[$key+1][depth]-$set[$key][depth]); 

		echo "<li>";

			// show/hide (▷/▽) 
			if ( $diff > 0 or ($value[sub_cnt] == 0 and $value[linked_num]>0 and $value[id]==$id) ) {
				echo " &nbsp; <a href='".$value[id]."' class='lower_ol_hideshow' >▽</a>";
			} else if ( $diff <= 0 or ($value[sub_cnt] == 0 and $value[linked_num]>0 and $value[id]!=$id) ) { 
				echo " &nbsp; <a href='".$value[id]."' class='ajax_page' >▷</a>";
			} 

			echo " ";

			// 분류 항목 명칭 출력
			if (strpos(','.$cur_path.',',','.$value[id].',')!==false) echo "<b>";
				echo "<a href='view.php?nav=2&id=".$value[id]."'>".$value[name]."</a>";
			if (strpos(','.$cur_path.',',','.$value[id].',')!==false) echo "</b>";

		if ( $diff > 0) echo "<ol>";	// 레벨 추가

			// 용어 항목 명칭 출력 
			if ( $value[linked_num]>0 and strpos(','.$cur_path.',',','.$value[id].',')!==false ) { 
				if($value[sub_cnt]==0) echo "<ol><li>";
				echo "<span id='items'>";
					detail_items_display($value[id],$value[linked_num],$m_temp1,$dbi,"contents");
				echo "</span>";
				if($value[sub_cnt]==0) echo "</li></ol>";
			}

		if ( $diff == 0) echo "</li>";	// 동급 레벨

		if ( $diff < 0)					// 레벨 닫음
			echo str_repeat("</ol></li>", - $diff); 
	}
	echo "</ol>";

?>