asp 글읽기 > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

asp 글읽기 정보

기타 asp 글읽기

본문

  arrow_dot.gif 글 읽 기
line_450.gif
 
  목록에서 선택한 글을 자세하게 보여주는 글읽기를 제작해야해요.
  이곳에서 [답변하기] [수정하기] [삭제하기] 가 링크되어야 하는 곳 이죠.
 
  이번에도.. 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 기타에서 이동 됨]
추천
0
  • 복사

댓글 0개

© SIRSOFT
현재 페이지 제일 처음으로