묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
공지사항 번호및 조회수 관련된 질문....
2006.01.10 13:27
php초보생입니다. 정말 기초적인 질문을 하는 것 같아 죄송합니다.
그래도 고수님들의 따뜻한 격려와 좋은 답변을 기대하며 글을 올립니다.
혹시 ... 질문 형식이 있는건 아니죠? 질문형식에 위반이 되었더라도... 좀 부탁드립니다.*^^*
1.공지사항 게시판을 만들었습니다. db와도 연동을 시켰습니다. 그리고 번호도 자동생성으로 해놨는데... 문제는 공지사항을 적고서 지웠는데 번호가 앞으로 당겨지지않고 그대로 뒷번호로 나옵니다. 그러니까 처음 공지를 적으면 번호가 1이잖아요... 그래고 한 10개 적었는데 번호가 순차적으로 잘나옵니다. 그런데... 앞번호 공지사항을 지웠거든요... 1부터 7까지.. 그런데 8번이 1이 되야하는데 그렇게 안되고 그냥 8그대로 있습니다. ... 이를 어쩌죠???
2. 조회수는 어떻게 올리나요? db의 table에서 smallint를 5로주고요... 잘몰라서... 그냥 여기까지하고 공지사항을 구동시켰는데... 조회수가 0에서 올라가지가 않습니다. ...
정성이 담김 답변을 기다립니다.
끝까지 읽어주셔서 감사합니다.
그래도 고수님들의 따뜻한 격려와 좋은 답변을 기대하며 글을 올립니다.
혹시 ... 질문 형식이 있는건 아니죠? 질문형식에 위반이 되었더라도... 좀 부탁드립니다.*^^*
1.공지사항 게시판을 만들었습니다. db와도 연동을 시켰습니다. 그리고 번호도 자동생성으로 해놨는데... 문제는 공지사항을 적고서 지웠는데 번호가 앞으로 당겨지지않고 그대로 뒷번호로 나옵니다. 그러니까 처음 공지를 적으면 번호가 1이잖아요... 그래고 한 10개 적었는데 번호가 순차적으로 잘나옵니다. 그런데... 앞번호 공지사항을 지웠거든요... 1부터 7까지.. 그런데 8번이 1이 되야하는데 그렇게 안되고 그냥 8그대로 있습니다. ... 이를 어쩌죠???
2. 조회수는 어떻게 올리나요? db의 table에서 smallint를 5로주고요... 잘몰라서... 그냥 여기까지하고 공지사항을 구동시켰는데... 조회수가 0에서 올라가지가 않습니다. ...
정성이 담김 답변을 기다립니다.
끝까지 읽어주셔서 감사합니다.
자동증가값은 테이블이 클리어 되야 사라지더군요 .;;;
전체 글이 10개란 가정하에 설명하겠습니다.
우선 글 전체의 갯수를 구해옵니다.
$total = mysql_fetch_array(mysql_query("select count(특정 필드) from 테이블명"));
(다른 방법으로 하시는게 좋을겁니다. 전 이방법 밖에 모르지만 다른분은 더 빠른 방법을 알고있을껍니다.;;;)
위의 쿼리문을 보내면 $total[0] 에 글 전체 개수인 10 을 가져왔습니다.
맨 마지막에 작성된글이 10 번을 가지고, 그전에 작선된글이 9를 가져야겠죠? (여기서 ! 표가 뜨셧을수도..)
반복문에서 -1을 해주는겁니다.
헌데, 페이지 1번일때는 번호가 맞지만, 2번 페이지로가도 10, 9, 8, 7 이런식으로 출력될겁니다.
각 페이지별로 감소될 번호의 처음 숫자를 구해야겠죠?
$number = $total - (페이지당 표시 수 * 페이지 번호);
로 하면 됩니다.
단 주의하실점은 페이지 번호가 처음페이지가 0 , 두번째 패치지가 1일경우는 상관이 없지만
처음페이지의 번호가 1, 두번째 번호의 패이지가 2 이런식이라면 페이지 번호 에 -1을 해줘야 합니다.
$number = $total - (페이지당 표시 수 * (페이지 번호-1));
그럼 끝입니다.
그럼 리스트 출력을 위한 반복문이 잇는 부분에서 번호는 $number를 쓰시고, 반복문 맨마지막에 번호 감소를 위한 $number--;를 써주세요.
그다음 조회수는.
$query = mysql_query("UPDATE 테이블명 SET 힛트수가 저장되는 필드명 = '힛드수가저장되는 필드명+1' WHERE 자동증가값으로 설정한 필드명 = '글번호'");
예) $query = mysql_query("update board set hit=hit+1 where no=$no");
이런식으로 하면 될겁니다..
지금까지 읽어주셔서 감사합니다.
저도 PHP를 막 배워서 .. 설명을 이해하기 쉽게 하질 못합니다. 그러니 한번 밎지는걸로 치고 위에 글대로 따라해보세요. 이해가 안되셧다면, 따라해본뒤는 느낌표가 분명히 뜰겁니다.
마지막으로 이 답변은 제머리에서 나온 답이라 신빙성이 매우 낮습니다.