각설하고, 이번에는 지난 번 만들었던 간단한 리스트를 뿌려주는 프로그램에 덧붙여 보겠습니다.
먼저, 다음과 같이 컬럼를 추가합니다.
내용을 담기 위한 memo컬럼과 조회수를 보여줄 view컬럼을 추가했습니다. (나중에 쓰일건 천천히 하면서 추가합시다.) 그럼 먼저, 게시글을 클릭했을 때 게시글 조회를 할 수 있도록 해 봅시다. 먼저 컨트롤러에서 view 메소드를 추가해 봅니다.
딱히 설명할 내용은 없네요. (아직 구현은 안 했지만) 모델에서 get_item 항목으로 글 번호를 넣어주고, view라는 이름의 view를-_- 로드해 옵니다.
만약 이 메소드를 호출하려면 어떻게 해야 할까요? 이 컨트롤러의 이름은 test이고 지난 번 리스트를 불러오는 메소드는 lists였습니다. 그리고 그 url은 http://your-domain.com/index.php/test/lists였죠. 마찬가지로, view 메소드도 동일하게 호출합니다. http://your-domain.com/index.php/test/view와 같이 말이죠.
그런데, 이 view메소드는 좀 다른게 있군요. 인자가 있습니다. 그 인자에 데이터를 어떻게 넘길까요? View 뒤에 넣어주면 됩니다. 즉, 1번 글을 조회하고 싶다면, http://your-domain.com/index.php/test/view/1이렇게 URL을 입력하면 $no에 1이라는 값이 들어가게 됩니다.
이제 컨트롤러 부분은 되었고, model을 만들어 봅시다.
이번에도 별로 특별한게 없죠. Get_lists 메소드와 달라진 점이 있다면, where절이 붙었다는 점입니다. Where절 안에 array를 생성해서, key는 데이터베이스의 필드 명, value는 우리가 가지고 있는 값을 넣었습니다. 위 쿼리문을 다시 보면,
$query = “SELECT * FROM test WHERE no=”.$no;
이것과 동일한 쿼리가 생성됩니다.
또, get_item 메소드의 두 번째 라인에는 result_array() 대신 row_array()가 있는데, 한 줄만 fetch한 거라고 보시면 될 것 같습니다.
그럼 view를 구현해 봅시다. Views 안에 view.php를 만들고 다음과 같이 기입합니다.
작성이 끝나면, http://your-domain.com/index.php/test/view/1로 접속을 해 보세요. 제대로 내용이 나오나요?
view페이지까지 만들었지만, 리스트에서 view페이지로 넘어가는 링크가 아직 없습니다. 간단히 추가할 수 있습니다. Lists.php에서 글 제목을 뿌려주는 부분인
위 부분을 다음과 같이 수정합니다.
가운데 anchor라는 함수를 쓴 게 보이는데요, anchor는 특정 페이지로의 링크를 만들어 줍니다.
Anchor(‘이동할 곳’,’내용’);
즉, 우리는 ‘test/view/글번호’ 라는 링크로 $listitem[‘content’]라는 이름을 표시하면서 뿌려주게 됩니다.
쓰다보니 시간이 없어져서…이번은4.5편으로 마무리를 지어보겠습니다. ㅠ….다음 편에는 글을 쓰고, 삭제하고, 수정하는 파트를 만들 겁니다. 그리고 그 다음에는 bootstrap라는 CSS 라이브러리를 이용해 이쁘게 꾸며보는거로 마무리를 해 보고, 그 다음에 더 올릴 내용이 있으면 올릴 생각입니다.