리스트 정렬에 대한 질문입니다 채택완료
A라는 게시판에
1번 게시물에
wr_11=2018-01-01, wr_12=100원, wr_13=라면
wr_14=2018-01-02, wr_15=200원, wr_16=밥 (추가입력됨)
wr_17=2018-01-03, wr_18=150원, wr_19=된장 (추가입력됨)
2번 게시물에
wr_11=2018-01-02, wr_12=120원, wr_13=국물
wr_14=2018-01-03, wr_15=240원, wr_16=콩나물 (추가입력됨)
wr_17=2018-01-04, wr_18=170원, wr_19=고추장 (추가입력됨)
이렇게 등록되있을때
리스트에 최근 날자순으로 정렬하고 싶습니다
방법좀 알려주세요 ㅠㅜ
답변 2개
6가지를 날짜순으로 정렬하려면,
배열에 넣은 후에
배열을 날짜순으로 정렬한 후에
출력하면 됩니다.
답변에 대한 댓글 2개
저기 6개만 따로 모아서 순서대로 보여줄려면,
http://php.net/manual/kr/function.array-multisort.php
이 함수를 참조하여,
list.skin.php 에서 80줄 아래 추가
[code]
for ($i=0; $i<count($list); $i++) {
$in_arr=array('date'=>$list[$i]['is_notice']['wr_11'], 'price'=>$list[$i]['is_notice']['wr_12'], 'name'=>$list[$i]['is_notice']['wr_13']);
array_push($data_arr,$in_arr);
$in_arr=array('date'=>$list[$i]['is_notice']['wr_14'], 'price'=>$list[$i]['is_notice']['wr_15'], 'name'=>$list[$i]['is_notice']['wr_16']);
array_push($data_arr,$in_arr);
$in_arr=array('date'=>$list[$i]['is_notice']['wr_17'], 'price'=>$list[$i]['is_notice']['wr_18'], 'name'=>$list[$i]['is_notice']['wr_19']);
array_push($data_arr,$in_arr);
[/code]
아래의 출력할 부분에 아래 소스 추가
[code]
<?
foreach ($data_arr as $key => $arr) {
$date[$key] = $arr['date'];
}
array_multisort($date, SORT_ASC, $data_arr);
foreach ($data_arr as $key => $arr) {
echo "날짜:".$arr['date'].", 가격:".$arr['price'].", 품목:".$arr['name'];
}
?>
[/code]
댓글을 작성하려면 로그인이 필요합니다.
/bbs/list.php sst값을 조절하면 됩니다.
1. wr_11등 원하는 필드를 추가해주세요.
$sst = preg_match("/^(wr_datetime|wr_hit|wr_good|wr_nogood|wr_11)$/i", $sst) ? $sst : "";
2. sst, sod등의 값을 get 혹은 post로 넘기세요.
ex) url/bbs/board.php?bo_table=test&sst=wr_11&sod=desc
2-1. get혹은 post로 넘기지 않고 모든 게시판을 기본적으로 고정시키는 법 (list.php)
아래 소스부분을 찾아 sst와 sod값을 지정하세요.
if ($board['bo_sort_field']) {
$sst = $board['bo_sort_field'];
} else {
$sst = "wr_11";
$sod = "desc 또는 asc";
}
2-2. 특정 게시판만 적용시킬 경우
if ($sst) {
$sql_order = " order by {$sst} {$sod} ";
}
위 소스 바로 아래에 추가해주세요.
if ($bo_table == 'test') {
$sql_order = " order by wr_11 desc ";
}
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인