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개 / 댓글 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 ";
}
답변을 작성하려면 로그인이 필요합니다.