테스트 사이트 - 개발 중인 베타 버전입니다

리스트 게시글 묶음처리

· 11년 전 · 9122 · 2
오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.

오류 주소 :

게시판에 주문하기,장바구니 기능을 달았는데
게시판 리스트에서 특정조건(글쓴이 이름, 등록시간) 으로 목록에 하나만 나오게 하려면 어떤 방식으로 해야 될까요?

---------------------------
1. 제목 | 이름1 | 날짜1
2. 제목 | 이름1 | 날짜1
3. 제목 | 이름2 | 날짜2
4. 제목 | 이름1 | 날짜3
5. 제목 | 이름1 | 날짜3
---------------------------
위의 리스트부분을 아래처럼

---------------------------
1. 제목 | 이름1 | 날짜1 [2]
2. 제목 | 이름2 | 날짜2
3. 제목 | 이름1 | 날짜3 [2]
---------------------------

제목을 클릭하면 view에서는 해당 게시글 을 보여줘야 되는데 이건 크게 어려울 것 같지 않은데
리스트 부분을 어떻게 처리해야 될지 잘모르겠네요~

감사합니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 2개

ID => $list[0~][id]
제목 => $list[0~][title]
이름 => $list[0~][name]
날짜 => $list[0~][date]

배열이 위와 같을 경우 날자를 프라이머리키로 설정 하여 카운트 값을 저장하여 배열 합니다.
추후 분리하기 위하여 "|" 와 같은 인자를 사이에 끼워줍니다.

[code]
$data = array();
$newlist = array();
$j=0;
for($i=0; $i<count($list); $i++){
if($data[$list[$i][date]]){
$data[$list[$i][date]][id]+= "|".$i;
}else{
$data[$list[$i][date]][id] = $i;
$newlist[$j][datename] = $list[$i][date];
$j++;
}
}
[/code]

위와 같은 방식으로 배열한 것을 다시 풀어 해지시면 됩니다.

[code]
for($i=0; $i<count($newlist) $i++){
$newlist[$i][countlist] = explode("|", $newlist[$i][datename]);
$newlist[$i][datecount] = count($newlist[$i][countlist]);
for($a=0; $a<$newlist[$i][datecount]; $a++){
$ii = $newlist[$i][countlist][$a];
echo $list[$ii][title];
echo $list[$ii][name];
echo $list[$ii][date];
echo $list[$ii][datecount];
}
}
[/code]

생각 나는 대로 코딩해서 틀린곳도 있을듯..ㅋㅋ
카운딩에 -1 해야 하나??? ㅋㅋㅋ

배열 하고자 하는 것을 프라이머리 키로 놓구 재배열 하는 방법이 있구요.

출력하면서 처음 출력된 값과 똑같은 date 값을 찾아 카운딩하고 카운딩된 값이 뒤로 나타나지 않도록 특정값을 주는 방법도 있습니다.

[code]

for($i=0; $i<count($list); $i++){
// 배열의 nocount 라는 키값을 집어 넣어 그값이 없다면 출력 하도록한다.
if(!$list[$i][nocount]){
// 같은 날자의 개시물이 몇개인지 카운딩 한다.
$list[$i][datecount] = 1;
// 같은 날자의 개시물이 있는지 확인후 카운팅 한다.
for($a=0; $a<sount($list); $a++){
// 같은 날이 있는지 검사한다.
if($list[$i][date] == $list[$a][date]){
// 같은 날자의 개시물이 다시 출력되지 않도록 설정한다.
$list[$a][nocount] = true;
// 같은 날짜 임으로 카운딩 증가.
$list[$i]datecount]++;
}
}
// 이곳에서 부터 출력 하고자 하는 내용을 출력 하면 됩니다.
echo $list[$i][title]." | ".$list[$i][name]." | ". $list[$i][date]." | [".$list[$i][datecount]."]<br>";
// 출력끝.............
}
}

[/code]

이방법이 젤루 쉬울듯 합니다.
물론 테스트를 않해본것이라. 수정은 본인이 집접 하세요..^^
참고해서 작업해보겠습니다~ 감사합니다~^^

게시글 목록

번호 제목
284508
284499
284492
284490
284484
284481
284478
284476
284474
284472
284470
284458
284457
284454
284453
284447
284446
284444
284441
284440