개발 Q&A

제목 원하는 갯수를 조정하기
글쓴이 헛발이 작성시각 2012/07/02 10:35:54
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 16986   RSS
올만에 질문드립니다. 아시다시피 초보라 이런 쉬운 질문 올립니다..

예를 들어 공지사항을 만든다고 합시다..
첫 페이지에 최근공지사항을 표시 하고자 합니다.
단 조건이 있습니다. 5개의 최신공지사항을 표시 하지만 공지사항이 2건밖에 없어도
레이아웃을 마추기 위해 공백으로 3건을 표시해 주고자 합니다.

질문은 이해 가시죠?

1. 두번째 공지
2. 첫번째 공지
3.
4.
5.

이렇게 표시 하고 싶은것이죠...


질문의 요지는 공백을 어떻게 해 주는것인가 하는것인데요..
이전에는 이렇게 했죠..

$data =array("두번째공지","첫번째공지");
for ($i=0; $i<5; $i++)
{
    if (isset($data[$i]))
    {
        echo $i+1 . $data[$i];
    }
    else
    {
        echo $i+1 . NULL;
    }
}
대충 이런식으로 for문으로 무조건 5건만 돌리고 if문으로 데이터가 있나 없나 이렇게 처리를 했는데요...

코드이그나이터를 쓰면서 데이터를 오브젝트로 가져 오니 편리하지만
이런식으로 5개만 보여주는 부분을 깔끔히 어떻게 처리를 해야 할지 모르겠습니다.

뭐 엑티브엑스 데이터도
$query = $this->test_m->getByAll($limit=5);
foreach($query->result() as $key=>$item)
{
    if (isset($item))
    {
        echo $item->id . $item->name;
    }
    else
    {
        echo $item->id . NULL;
    }
}

뭐 대충 이렇게 foreach안에서 if문을 써서 처리 해도 되지만

제가 원하는것은 if문으로 처리 하는거 말고 그 윗부분의 데이터를 불러오면서
배열을 5건의 배열로 만들고 싶다는것이죠.

즉 $query = $this->test_m->getByAll($limit=5); 이렇게 했지만 데이터가 2건만 불러온 것이죠..
그러면 나머지 3건의 부분을 공백으로 넣어 줄수 있는 방법이 있을까 해서요...

제대로 질문 했는지 모르겠군요...

초보라 이해해 주세요~ ^^

 다음글 문제 해결좀...로그아웃 후 뒤로가기를 이용해서.. 이... (5)
 이전글 PHP Class Diagram 추천 부탁 드립니다

댓글

양승현 / 2012/07/02 14:18:48 / 추천 0
모델의 getByAll()에 리턴하기전 따로 배열로 만들어 리턴해주시면 되겠지요.
디비의 데이터를 가공할때 아래처럼 하곤 하거든요.

if($query->num_rows() > 0)
{
   $result = $query->result_array();

   반복, 조건...
    
   return $return;
}
else
{
    return FALSE;
}
헛발이 / 2012/07/02 14:52:38 / 추천 0
답변 감사합니다..
결국 조건문을 필요로 하는군요...

좋은 정보 감사합니다...
카프리카 / 2012/07/11 10:48:03 / 추천 0
제가 쓰는 방법은 

빈갯수= 표시해야될 갯수  - 실제 갯수 

실제갯수만큼 루프
빈갯수 루프

이렇게 두개의 출력 루프를 만들면 조건문이 필요없죠..