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

asp 글읽기

· 16년 전 · 1707
  글 읽 기

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

댓글 작성

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

로그인하기

게시글 목록

번호 제목
13686
13683
21003
13680
25150
25143
20981
13679
13678
13677
13675
13674
29483
13672
13671
13670
13669
29482
13668
13666
29481
29480
13665
13664
13663
13662
13661
25124
25116
20970
13660
JavaScript adsc
13658
29479
13655
13650
13648
13647
13646
29478
13645
PHP 3.0
13643
13642
13640
13637
13636
13635
13634
29476
13633
13632
13630
29473
13624
13620
13582
13556
29472
29471
13555
13554
13553
13552
13551
13550
13546
13545
13544
29470
13541
13540
13538
13535
29466
13533
29463
13532
13531
13529
29462
13528
29459
29458
13527
13526
13525
13523
13522
13512
13510
13507
13498
29452
13492
13487
29450
13480
13474
13460
13457
29447