PHP 관련 도무지몰라서요 질문 드립니다.

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
PHP 관련 도무지몰라서요 질문 드립니다.

QA

PHP 관련 도무지몰라서요 질문 드립니다.

본문

안녕하세요

아래 이미지를 보시면 의회운영위원회  사회도시위원회 이것을 폴더 형태로 한댑스 더 늘리고 싶은데 이게 코드가 너무 어렵게 짜여져있어서 도무지 알 수가 없어서요 혹시 아시는 분 계실까요

혹시몰라서 코드도같이 올려 드립니다.

 작업 하고 있는사이트 주소는 https://yscl.homweb.co.kr/page/page05_02_02.php 입니다

page05_02_02.php 이파일은 아무래도그냥 뿌려주는 것 같습니다.   


 <?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
include_once(G5_THEME_PATH.'/head.php');
?>
<!--기존 유성구의회 원본 파일 -->
<!-- 레이아웃 : 서브본문 -->
<div id="sub_simple" class="sub_default">
    <div class="assem_info Square">
        <p class="first">회의록을 <span>회기별</span>로 검색하실 수 있습니다.</p>
        <p class="last">원하시는 회의를 클릭하시면 해당 검색 내용을 보실 수 있습니다.</p>
    </div>
    <!-- ul id="late_skin"> <?  $ROOT_DIR = "../../../"; include $ROOT_DIR."CLRecords/Retrieval/listl.php"; ?> </ul -->
</div>

<!-- 새로 적용할 곳 -->
<link rel="stylesheet" href="<?=G5_THEME_URL?>/pages/css/ui.fancytree.css">
<h5>회기별</h5>
<div id="sub_assembly" class="sub_default">
    <div id="tree"></div>
</div>
<script type="text/javascript" src="<?=G5_THEME_URL?>/pages/js/jquery-ui.min.js"></script>
<script src="<?=G5_THEME_URL?>/pages/js/jquery.fancytree-all.js"></script>    
<script src="<?=G5_THEME_URL?>/pages/js/jquery.cookie.js"></script>
<script>    
    $(function(){
        $("#tree").fancytree({
            extensions:["persist"],
            persist:{
                expandLazy:true,
                overrideSource:true,
                store:"auto"
            },        
            clickFolderMode:2,
            source: [
                <?php
                    $qryd = "select f_daesu,f_datestr from tbl_daesu order by f_daesu desc";
                    $rsd = sql_query($qryd);
                    if(!$rsd) {
                        ?>{"title":"자료가 없습니다."},<?php
                    } else while($rowd = sql_fetch_array($rsd)) {
                        $strd = "<a href='?daesu=".$rowd[f_daesu]."&tag=lth#postop'>".$rowd[f_datestr]."</a>";
                        ?>{"mode":"session","folder":"true","th":'<?=$rowd['f_th']?>',"lazy":"true","councilId":"<?=$rowd['f_daesu']?>","title":"<?=$rowd['f_datestr']?>"},<?php
                    }
                ?>
            ],
            lazyLoad:function(event,data){
                var mode = data.node.data.mode;
                if(mode == "session"){
                    var councilId = data.node.data.councilId;
                    var th = data.node.data.th;
                    data.result = {
                        url:"/page/page05_02_02-ajax.php",
                        data:{councilId:councilId}
                    }
                } else if (mode == "committee") {
                    var councilId = data.node.data.councilId;
                    var th = data.node.data.th;
                    var session = data.node.data.session;
                    data.result = {
                        url:"/page/page05_02_02-ajax.php",
                        data:{councilId:councilId,th:th}
                    }                
                } else if (mode == "order") {
                    var councilId = data.node.data.councilId;
                    var th = data.node.data.th;
                    var session = data.node.data.session;
                    var code = data.node.data.code;
                    data.result = {
                        url:"/record/orderList.do",
                        data:{councilId:councilId,th:th,session:session,code:code}
                    }                
                } else if (mode == "item") {
                    var rid =  data.node.data.rid;
                    data.result = {
                        url:"/record/itemList.do",
                        data:{rid:rid}
                    }                
                } else {
                    alert("입력값이 잘못 되었습니다.");
                    return false;
                }
            }
        });
    });
</script>
 

 

실제로 돌아가는 것은 아래 파일 인것 같은데 제가 수정을 도무지 할 수 없어서요 

page05_02_02-ajax.php

아래 소스가 실제로 돌아가는 파일 인 것 같은데 수정하기가너무 어려워서요 


<?php
include '_common.php';
$daesu= $_GET['councilId'];
$th= $_GET['th'];
$data=array();
if( $daesu ) {
    if( $th) {
        if($th > 1990 ) { $w_c = " and f_code like 'H%'"; }else { $w_c=''; }
        $qryn = "select f_code,f_etc1 from tbl_main where f_daesu = '".$daesu."' and f_th = '".$th."' ".$w_c." group by f_code order by f_code asc";
        $rsn = sql_query($qryn);
        if( $rsn)  while($rown = sql_fetch_array($rsn)) {
            $fetc1 = str_replace("유성구의회", "", $rown[f_etc1]);
            //print("<li class='minus'>".$fetc1);
            //print("<ul>");
            $qrycha = "select f_th,f_cha,f_code,f_datestr,f_file,f_chastr,f_etc1,f_etc2,f_angunyn from tbl_main where f_code = '".$rown[f_code]."' and f_th = '".$th."' order by f_date asc, f_ilcha asc, f_cha asc";
            $rscha = sql_query($qrycha);
            if( $rscha) while($rowcha = sql_fetch_array($rscha)) {
                $strL = "";
                $strTh = $rowcha[f_chastr]."(".$rowcha[f_datestr].")";
                if($rowcha[f_angunyn] == "y") {
                    $qryan = "select * from tbl_angun where f_file = '".$rowcha[f_file]."' order by f_angunno asc";
                    $rsan = sql_query($qryan);
                    if(!rsan) {
                        //print("<br /><br /><br /><br /><br /><br /><center><strong>회의록을 검색하는 중에 에러가 발생했습니다(4).</strong></center>");
                        exit;
                    }
                    $count = 1;
                    while($rowan = sql_fetch_array($rsan)) {
                        if($count > 13) {
                            $strL .= ".................\n";
                            break;
                        }
                        $strL .= trim($rowan[f_angun1])."\n";
                        $count++;
                    }
                }
                else {
                    $strL = $strTh;
                }
                if($strL == "") {
                    $strL = $strTh;
                }
                $strCha = "<a href=\"/CLRecords/Retrieval2/index.php?hfile=".$rowcha[f_file]."&daesu=".$daesu."\" onclick=\"window.open(this.href, 'late', 'scrollbars=no,width=1024,height=768'); return false;\" title=\"".$strL."(새창)\">".$strTh."</a>";
                //print("<li class='minus'>".$strCha."</li>");
                $data[]= array("title"=>"{$fetc1} {$strCha}");
            }
        }
    } else {
        
        $qryth = "select f_th,f_date1,f_date2,f_sort from tbl_session where f_daesu = '".$daesu."' order by f_th desc";
        $rsth = sql_query($qryth);
        
        while($rowth = sql_fetch_array($rsth)) {
            $session = incSessionDis($rowth[f_date1],$rowth[f_date2]);
            if($rowth[f_th] > 1990) {
                $strTh = " ".$rowth[f_th]."년도 행정사무감사".$session;
            } else {
                $strTh = " 제".$rowth[f_th]."회".$rowth[f_sort].$session;
            }
            //$strTh = "<a href='?daesu=".$daesu."&th=".$rowth[f_th]."&tag=lcha#postop'>".$strTh."</a>";
            //print("<li>".$strTh."</li>");
            $data[]= array("mode"=>"committee","folder"=>"true","code"=>"J151","th"=>$rowth['f_th'],"lazy"=>"true","session"=>2018,"councilId"=>$daesu,"title"=>"{$strTh}");
        }
    }
}
if( empty( $data)) $data[]=array( 'title'=>'자료가 없습니다.');
echo json_encode( $data);

   

2049131254_1684403110.0076.png

이 질문에 댓글 쓰기 :

답변 3

트리 구조는 jquery fancytree 를 사용하는 거 같으니, 우선적으로 jquery fancytree에 대해서 알아보시는 게 첫번째인 것 같습니다.

현재의 DEPTH에서 1단계를 더 늘리고자 한다면, DB(아마도 tbl_main)의 구조변경이 이루어져, 1단계를 더 구분할 수 있도록 해야 할 것 같네요.

이후 하위 카테고리를 불러오는 mode == session, mode == committee 외에 (위 구조로 봤을때는 committee 시 하위 카테고리를 불러올 수 있는 mode 가 추가되어야 할 것 같습니다.

depth를 1단계 더 늘린다는 건 단순한 작업이 아닙니다. 그에 따른 DB 구조의 변화도 이루어져야 하고,

입력폼부터 출력폼까지 모두 변화가 이루어져야 합니다.

 

ajax로 내용을가지고 와서 tree형식으로 attatch를 해주는 형식입니다.

이부분은 php기술보단 javascript쪽에 비중이 더 높지 않나 생각됩니다. 

일단 서버쪽에서 해당 데이터를 입력해서 json으로 잘 출력되는지를 먼저 확인해보시기 바랍니다.

해보시다 어려우시면  쪽지 주시면 도움드리겠습니다.

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 174
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT