항목명을 누를때마다 오름차순, 내림차순으로 정렬 되게 하려면?
본문
현재 리스트에서 아래와 같이 항목명에 링크를 걸어서 [이름] 이라는 항목을 누르면
이름을 오름차순 으로 보이게 적용해 놓았습니다.
<a href="<?=$PHP_SELF?>?order_asc=mb_name">이름</a>
여기서, [이름] 이라는 항목을 누를때마다 오름차순, 내림차순으로 바뀌어 정렬되게 하려면
어떻게 적용하면 될까요?
답변 4
<?php
$order_asc = isset($_GET['order_asc']) && $_GET['order_asc'] == 'desc';
$orderby = $order_asc ? 'DESC' : 'ASC';
$sort_param = $order_asc ? 'asc' : 'desc';
?>
<a href="<?= $PHP_SELF ?>?order_asc=<?= $sort_param ?>&mb_name">이름</a>
게시판 스킨보면 그렇게 사용하도록 되어있습니다
사용하고싶은 필드명을 아래처럼 한 후
basic/list.skin.php에서
<th scope="col"><?php echo subject_sort_link('wr_name', $qstr2, 1) ?>이름</a>
bbs/list.php에서 아래 코드에 wr_name추가
// 리스트에서 다른 필드로 정렬을 하려면 아래의 코드에 해당 필드를 추가하세요.
$sst = preg_match("/^(wr_datetime|wr_hit|wr_good|wr_nogood|wr_name)$/i", $sst) ? $sst : "";
order_asc변수가 mb_name값이 존재하면
order_desc변수로 변경해서 링크로 해당 변수를 넣어 처리하면 가능할듯 합니다.
그누 게시판이 아니라 다른 형태의 문서라면
가장 일반적인 방법이
자바스크립트로 목록 각기의 innerHTML 을 배열에 담아서 리버스 시킨 후 재배열된 innerHTML 을 다시 뿌려주는 방법을 써야 합니다.
답변을 작성하시기 전에 로그인 해주세요.