채택완료

게시물 정렬기능 추가하기(그누보드x)

사용중인 사이트 관리자 코드인데 셀렉트 박스를 추가하여 등록일순, 등록일역순, 노출순, 비노출순으로 필드를 재정렬 하고싶습니다. 기본적으로는 등록일 순으로 정렬이 되고 있구요.

DB상 recyn 이라는 컬럼에 Y,N값으로 노출/비노출이 설정되어있는데 어떤식으로 수정을 해야 셀렉트박스 선택만으로 정렬을 바꿀 수 있을까요?

 

Copy
<div class="sub_content_title"><?=$gstrAdminBoardTitle?></div>

<?

    $Where = " WHERE spcmseq <> '1'";

    IF($STXT)

    {

        $Where .= " AND name LIKE '%".add_str($STXT)."%' OR title LIKE  '%".add_str($STXT)."%' OR content LIKE '%".add_str($STXT)."%' ";

    }

 

    IF($S1)

    {

        $Where .= " AND spcmseq = '".$S1."'";

    }

 

    $intTotal = 0;

    $ResultTotal = sql_query("SELECT COUNT(*) as CNT FROM ex_hornbeam ".$Where,$connect);

    IF($RowTotal=sql_fetch_array($ResultTotal))

    {

        $intTotal = $RowTotal["CNT"];

    }

    sql_free_result($ResultTotal);

 

    IF($LIMIT){

        $num_per_page = $LIMIT;

    } ELSE {

        $LIMIT = $num_per_page;

    }

 

    $retVal = "?KD=".$KD."&RD=2";

?>

<div class="general_body">

    <div class="general_totalcnt">총 등록글 : <?=NUMBER_FORMAT($intTotal);?></div>

 

    <div class="general_search">

        <form method="GET" name="Sregfm" action="<?=$PHP_SELF?>">

        <input type="hidden" name="KD" value="<?=$KD?>">

        <input type="hidden" name="S1" value="<?=$S1?>">

 

        (제목,내용이 검색됩니다) &nbsp;<input type="text" name="STXT" value="<?=$STXT?>" class="input01">        <input type="submit" value="검색">

 

        <input type="button" value="엑셀다운로드" OnClick="listexcelsend('Sregfm','<?=$gstrAdminBoardFolder?>/listexcel.php');" style="float:right;">

 

        <select name="limit" style="float:right;margin-right:10px;" onchange="listCountChange(this.value);">

            <option value="10" <?IF($LIMIT == '10') ECHO 'selected="selected"';?>>10개씩보기</option>

            <option value="20" <?IF($LIMIT == '20') ECHO 'selected="selected"';?>>20개씩보기</option>

            <option value="30" <?IF($LIMIT == '30') ECHO 'selected="selected"';?>>30개씩보기</option>

            <option value="50" <?IF($LIMIT == '50') ECHO 'selected="selected"';?>>50개씩보기</option>

        </select>

        </form>

    </div>

    <table class="general_guide">

    <tr>

        <th class="td1">번호</th>

        <th class="td1">노출</th>

        <th class="td4">구분</th>

        <th class="td4">지역</th>

        <th class="td4">대표이미지</th>

        <th class="td8">제목</th>

        <th class="td8">태그</th>

        <th class="td4">등록일</th>

        <!--<th class="td4">조회수</th>-->

        <th class="td4">실행</th>

    </tr>

<?

    IF($intTotal > 0)

    {

        $total_page = ceil(($intTotal)/$num_per_page);  //토탈페이지

        $start_page = $num_per_page*($page-1);  //시작페이지

 

        $Query = "SELECT ehseq,cpseq,sbseq,repimg,title,name,left(reg_date,10) as reg_date,icount,spcmseq,recyn,tags FROM ex_hornbeam ".$Where." ORDER BY spcmseq, ehseq DESC LIMIT $start_page,$num_per_page";

   

        $Result = sql_query($Query,$connect);

 

        $bunho=($intTotal)-(($page-1) * $num_per_page); //리스트의 넘버수

 

        WHILE($Row=sql_fetch_array($Result))

        {

            unset($RowLink);

            $seq                =   $Row["ehseq"];

            $cpseq              =   $Row["cpseq"];

            $sbseq              =   $Row["sbseq"];

            $repimg             =   EXPLODE("^",$Row["repimg"]);

            $title              =   strip_str($Row["title"]);

            $name               =   strip_str($Row["name"]);

            $reg_date           =   $Row["reg_date"];      

            $icount             =   $Row["icount"];

            $spcmseq            =   $Row["spcmseq"];

            $recyn              =   $Row["recyn"];

            $tags       =   str_replace("</span><span>"," ", $Row["tags"]);

 

            IF($ifile) { $ifileVal = "<a href='/inc/download.php?F=".$gstrFileBoardUrl."&val=".$ifile."'>[첨부파일]</a>"; }

 

            $RowLink = $PHP_SELF."?KD=".$KD."&RD=2&SD=".$SD."&SE=".$seq."&page=".$page."&STXT=".$STXT."&limit=".$LIMIT;

?>

            <tr>

                <td><a href="<?=$RowLink?>"><?=$bunho?></a></td>

                <td>

                    <?=fn_general_select($recyn,"", ARRAY('Y^노출','N^비노출') ,"선택",$seq."_recyn","","ehseq=".$seq);?>

                </td>

                <td><a href="<?=$RowLink?>"><?=fn_general_txt($spcmseq,fn_cate_master_new(1,1,$connect));?></a></td>

                <td><a href="<?=$RowLink?>"><?=fn_general_txt($sbseq,fn_cate_master("2",$connect));?></a></td>

                <td><a href="<?=$RowLink?>"><?=fn_rep_img_list($gstrFileHornBeamUrl,$repimg[0],"listimg");?></a></td>

                <td class="tdL"><a href="<?=$RowLink?>"><?=$strNbsp?><?=$strIcon?><?=$name?></a></td>

                <td class="tdL"><input type="text" class="input_tags" value="<?=$tags?>" name="<?=$seq?>_tags"></td>

                <td><a href="<?=$RowLink?>"><?=$reg_date;?></a></td>

                <!--<td><a href="<?=$RowLink?>"><?=NUMBER_FORMAT($icount);?></a></td>-->

                <td>

                    <input type="button" value="수정" OnClick="listModify('<?=$seq?>');">

                </td>

            </tr>

<?

            $bunho--;

        }

    } ELSE {

        ECHO "<tr><td colspan='7' class='tdblank'>등록된 ".$gstrAdminBoardTitle."이 없습니다.</td></tr>";  

    }

 

    $retVal = $PHP_SELF."?KD=".$KD."&RD=3&SD=".$SD;

?>

    </table>

    <div class="pagelist1">

<?

    $retValOr = "&KD=".$KD."&RD=".$RD."&SD=".$SD."&STXT=".$STXT."&limit=".$LIMIT;

    $excelWriteUrl = $PHP_SELF."?KD=".$KD."&RD=33&SD=".$SD;

    IF($intTotal> 0)

    {

        ECHO pagging_list__($page,$total_page,$page_per_list,$retValOr,"");

    }

?>

    </div>

    <div class="general_btn_write">

        <input type="button" value="엑셀로등록" OnClick="window.location='<?=$excelWriteUrl?>';">

        <input type="button" value="글등록하기" OnClick="window.location='<?=$retVal?>';">

    </td>

</div>

 

<script type="text/javascript">

<!--

    //엑셀 다운로드

    function listexcelsend(obj,target)

    {

        var fm = document.getElementsByName(obj)[0];

       

        fm.action = target;

        fm.submit();

    }

 

    //리스트의 노출 및 태그 수정

    function listModify(seq)

    {

        if(seq != ''){

            var dataval = {

                    'kind' : 'listUpdate',

                    'seq' : seq,

                    'recyn' : $("select[name='"+seq +"_recyn'] option:selected").val(),

                    'tags' : $("input[name='"+seq + "_tags']").val()

            };

 

            $.ajax({

                url : "/adm/hornbeam_new/process.php",

                type : "POST",

                data : dataval,

                dataType : "html",

                error:function(xhr, status, error) {

                    alert(xhr+'---'+status+'--'+error);

                    alert("통신중 장애가 발생하였습니다 다시 시도하여주십시오");

                },

                success: function(data) {

                    if(data == 'OK')

                    {

                        alert('수정 되었습니다.');

                    } else {

                        alert(data);

                    }

                }

            });

 

        } else {

            alert('잘못된 번호 입니다');

        }

    }

 

    //리스트 보기 갯수 수정

    function listCountChange(val){

        location.href = "<?=$PHP_SELF.'?KD='.$KD.'&RD='.$RD.'&S1='.$S1.'&SD='.$SD.'&STXT='.$STXT.'&limit='?>" + val;

    }

-->

</script>

 

|

답변 1개

채택된 답변
+20 포인트

정렬 할수 있는 셀렉트박스를 만들고

recyn desc

recyn asc

reg_date desc

reg_date asc

이런식으로 파라메타를 주신후에 order by 에 적용하시면 될꺼 같습니다.

 

답변을 작성하려면 로그인이 필요합니다.