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

asp 글읽기

· 16년 전 · 1708
  글 읽 기

 
  목록에서 선택한 글을 자세하게 보여주는 글읽기를 제작해야해요.
  이곳에서 [답변하기] [수정하기] [삭제하기] 가 링크되어야 하는 곳 이죠.
 
  이번에도.. HTML 로 화면구성을 먼저 해놓고.. 작업을 하는것이.. 수월할듯 합니다.
 
  <a href="javascript:OpenWindow('content.asp?id=<%=rs("id")% >&page=<%=page%>&block=<%=block%>&mode=list','520','430')"><font size="2"><%=title%></font></a>
 
  javascript로 시작하는 이유는 새 창을 띄워서 글을 보기 위해서 입니 다.
  list.asp 에서 글의 제목을 눌렀을때 우리는 다음과 같이 id 라는 변수로 그 고유값을 같이 content.asp 로 넘겨주어었다.
 
  그럼.. 이제 또 다시 DB를 연결하기위한 소스를 코딩합니다.
  DB의 데이터를 무조건 다 가져오는게 아니라.. 원하는 데이터를 가져오기 위 해 쿼리문을 작성해야 합니다. id 변수로 넘어온 값에 데이터만 가져와야겠죠?
 
  <%
  id = request("id")
  'list.asp 에서 넘어온 id 값을 id 변수에 저장합니 다.
 
  Set db = Server.CreateObject("ADODB.Connection")
  db.Open dbname
 
  UpdateSQL = "Update " & session("table") & " Set visit = visit+1 where id = " & id
  '글을 읽었을때.. 조회수를 증가시켜주는 부분입니 다.
  db.Execute UpdateSQL
  '위의 Update문을 실행하는거죠.
 
  SQL = "SELECT id,name,email,url,title,content,pin,writeday,tag,num,visit,re,resame,reid from " & session("table")
  '이 방법은 추천되는 방법중 하나입니다.
  SQL = SQL & " where id = " & id
 
  Set rs = Server.CreateObject("ADODB.Recordset")
 
  rs.Open SQL,db
  %>
 
  이제 HTML 로 화면구성을 했던 곳에.. 레코드에서 각각의 컬럼들을 뽑아내 어 출력만 해주면 됩니다.
  이름부분은 <%=rs("name")%>, 제목부분은 <%=rs("title")% >...
  이런식으로 말이에요.. 하지만 앞에서 추천했던 내용이 있었죠??
  저 부분은 각 변수에 다시 저장하여.. 출력하는 방법이요.
  저렇게 해도.. 상관은 없습니만.. 그냥.. 하기 편안한 방법으로 하세요.. ^^
 
  이제는 [답변하기] 링크에 관한걸 다루어 보도록 하겠습니다.
 
  <a href="javascript:reply();"> 답변하기 </a>
 
  이런식으로 되어있죠?
  어라... 자바스크립트네요?? 그럼.. content.asp 소스의 윗부분으로 올라가 서 자바스크립트 부분을 찾아볼까요?? 앗.. 아래의 소스처럼 되어있네요..
 
  <script language="javascript"> <!-- function reply() { document.reply.submit(); } //--> </script>  
  앗.. 저런 방식이라면.. 어딘가에.. name 이 reply 로 된 form 이 있겠네 요.. 다시 아래로 내려가서.. 소스를 보면.. 또 아래와 같은 form 을 찾을 수가 있네요..
 
<form name="reply" method="post" action="write.asp">
<input type="hidden" name="id" value="<%=id%>">
<input type="hidden" name="title" value="<%=rs("title")%>">
<input type="hidden" name="reid" value="<%=reid%>">
<input type="hidden" name="resame" value="<%=resame%>">
<input type="hidden" name="re" value="<%=re%>">
<input type="hidden" name="page" value="<%=page%>">
<input type="hidden" name="block" value="<%=block%>">
<input type="hidden" name="email" value="<%=email%>">
<input type="hidden" name="mode" value="<%=mode%>">
</form>
 
  답변을 위한.. 여러 자료(?)들이죠..
 
  이건 글저장하기 강좌와 번갈아가면서 보시면.. 이해가 가시리라 믿습니 다.
  이해가 안되신다구요?? 옆에.. Q&A 강좌 있죠?? 거기에 질문글 올려주시면 더 상세하게 알려드리겠습니다.
 
  그다음은 [수정하기] 링크에 관한걸 다루어 보도록 하겠습니다.
 
  <a href="edit.asp?id=<%=id%>&page=<%=page%>&block=<% =block%>&mode=<%=mode%>"> 수정하기 </a>
 
  edit.asp 파일로 넘길때도 그 id 값을 보내죠? 이 글과 같은 글을 수정한다 는 의미를 담고 있죠. page,block 변수는 나중에 페이지셋의 위한 것들입니다.
  앞으로도 많이 나오니깐요.. 설명은 하지 않아도.. 보시다보면.. 이해가 가 실겁니다.
 
  마지막으로 [삭제하기] 링크에 관한걸 다루어 보도록 하겠습니다.
 
  <a href="del.asp?id=<%=id%>&page=<%=page%>&block=<% =block%>&resame=<%=resame%>&name=<%=name%>&title=<%=rs("title")% >"> 수정하기 </a>
 
  INNO BOARD 소스에는 저렇게 되어있을겁니다.
  근데.. 제가.. 무슨 기능을 추가할려다가 말고 소스를 배포하는 바람에.. 불 필요한 소스가 들어가버렸군요. 아래의 소스처럼 수정해도 무방합니다.
 
  <a href="del.asp?id=<%=id%>&page=<%=page%>&block=<% =block%>"> 수정하기 </a>
 
  근데.. 구지.. pgae,block도.. 특별한 케이스가 아니라면.. 삭제해도 무방하 다고 생각이 되네요.. 음..
 
  이렇게 해서 글 보기 강좌가 끝이 났습니다.
 
  원래는 관련글 보기 라는 소스가 더 있지만.. 초보자님들에겐.. 여기까지도 복잡한데.. 더 복잡해지면.. 무리가 아닐까 싶어서.. 나중에 천천히 다루도록 하겠습니다.

[이 게시물은 관리자님에 의해 2011-10-31 16:46:12 기타에서 이동 됨]

댓글 작성

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

로그인하기

게시글 목록

번호 제목
12995
12994
12993
JavaScript [SQL]Delete문
29390
29389
12992
12991
29388
29387
29386
29384
29383
29382
25079
12989
12988
25070
12987
29381
12986
12985
12984
12979
12978
12977
12973
12972
12971
29380
12969
12968
12967
29379
12965
12963
29378
12962
12960
29377
12958
12955
12954
12951
12950
12949
12946
12945
12941
12939
12938
12936
12931
29376
12928
29375
12927
12926
12923
12921
12918
12917
12914
12909
12906
12903
12902
298
12901
12891
12888
12886
295
12885
12883
12881
292
12880
290
287
12879
285
12875
12872
280
12857
276
275
25063
271
29369
268
267
12852
12851
265
263
12844
260
12841
12834