ASP

 

 

DB

-- 상품 테이블
create table prodt(

	number int identity(1,1) primary key, -- 고유번호
	prodcode nvarchar(100) not null ,  -- 제품코드
	prodname nvarchar(100) not null,  -- 제품이름
	prodinfo1 nvarchar(3000) null,     -- 상세설명1
	prodinfo2 nvarchar(3000) null,   	  -- 상세설명2
	prodpic   nvarchar(100) null,   		-- 이미지 경로
	sortcode nvarchar(100) null , 		-- 분류코드
	stwon 	int not null, 					-- 정규가격
	won 		int not null, 					-- 할인가격
	proddate  datetime default GETDATE(), -- 등록일
	stcount  int, 								-- 총수량
	realcount int, 								-- 실수량
	nowcount  int 								-- 현재수량

);




-- 제품 분류 테이블
create table sortt (

	number int identity(1,1) primary key ,  -- 고유번호
	sortcode nvarchar(100) ,   -- 분류코드
	sortname nvarchar(100), 	-- 분류명
	sortdate nvarchar(50), 	-- 날짜

);

 

 

 

prodlist.asp

<!--#include  virtual=./asp-shoppingMall/mall/include/header.asp -->
</header>
<body>
<!--#include virtual="./asp-shoppingMall/mall/include/header_menu.asp" -->
<!--#include file="dbcon.asp" -->

<%

'  Dim totalCount
'  sqlTotalCount =" select count(*) as totalcount from prodt"

'  Set rsTotalCount=db.execute(sqlTotalCount)
'  totalCount=rsTotalCount("totalcount")

Dim keyfield, key, page, startpage, ipp, ten, curPage, totalCount, totpage

keyfield=request("keyfield")
key=request("key")

if Request("page") ="" Then
curPage=1
Else
curPage=CInt(Request("page"))
end if

if Request("startpage")="" Then
startpage=1
Else
startpage=cint(Request("startpage"))
end if

ipp=10  '페이지마다 출력할 레코드의 개수를 나타낸다.
ten=10  '출력할 페이지의 개수를 나타낸다.

 if key="" then
    sql ="select count(*) as totalCount from prodt"
 else
    sql ="select count(*) as totalCount from prodt where "&keyfield &" like '%"& key &"%'"
 end if
'Response.write sql
 Set rs =db.Execute(sql)
totalCount=rs("totalCount")

%>

<div class="rows">
  <div class="container">

    <div class="col-xs-12 col-sm-12">
      <div class="col-xs-2 col-sm-2"></div>
      <div class="col-xs-8 col-sm-8">
        <div>

          <form action="prodlist.asp" method="post">
          <div class="col-xs-12 col-sm-12">
            <div class="col-xs-3 col-sm-3">
                레코드 총수 : 총 <%= totalCount %>개
             </div>
            <div class="col-xs-3 col-sm-3">
              <select class="form-control" name="keyfield">
                <option value="prodname" <% if keyfield="prodname" then %>selected <% end if %> >제품명</option>
                <option value="prodcode" <% if keyfield="prodcode" then %>selected <% end if %> >제품코드</option>
                <option value="sortcode" <% if keyfield="sortcode" then %>selected <% end if %> >분류코드</option>
              </select>
            </div>
          <div class="col-xs-3 col-sm-3">
            <input type="text" class="form-control" name ="key" value="<%= key %>"/>
           </div>
           <div class="col-xs-3 col-sm-3">
            <input type="submit" value="검색" class="btn"  />
          </div>
          </div>
          </form>

          <br/></br/><br/></br/>
        </div>
        <div class="row placeholders">
          <!--
          number int identity(1,1) primary key, -- 고유번호
        	prodcode nvarchar(100) not null ,  -- 제품코드
        	prodname nvarchar(100) not null,  -- 제품이름
        	prodinfo1 nvarchar(3000) null,     -- 상세설명1
        	prodinfo2 nvarchar(3000) null,   	  -- 상세설명2
        	prodpic   nvarchar(100) null,   		-- 이미지 경로
        	sortcode nvarchar(100) null , 		-- 분류코드
        	stwon 	int not null, 					-- 정규가격
        	won 		int not null, 					-- 할인가격
        	proddate  datetime default GETDATE(), -- 등록일
        	stcount  int, 								-- 총수량
        	realcount int, 								-- 실수량
        	nowcount  int 								-- 현재수량
         -->
<%
   ' 내림차순 오름차순이 반대이다 . asc, desc
    Set DbRec=Server.CreateObject("ADODB.Recordset")
    DbRec.CursorType=1
    if key="" Then
      DbRec.Open "select * from prodt order by number asc ", db
    else
      DbRec.Open "select * from prodt where " & keyfield & " like '%"&key &"%' order by number asc", db
    end if

%>
<%

  if  DbRec.EOF then   'DbRec 가 없다면 그냥 넘어가기 한다.

      else     ' 검색된 결과갑이 있다면 레코드의 수를 계산하고 각 페이지 값을 계산한다.

      DbRec.MoveLast
      postcount =DbRec.Recordcount

      totpage =int(postcount/ipp)
      totpage=cint(totpage)

      if (totpage * ipp) <> postcount then totpage=totpage+1

      For a=1 to (curpage-1) * ipp
      DbRec.MovePrevious
      Next

%>
<%
    For i=1 to ipp
      if totpage= curpage then
        value =postcount Mod ipp

        if i > value and value <> 0 then
        Exit For
        end if

     end if
%>

<div class="col-xs-12 col-sm-6 placeholder" style="margin-top:30px;">
  <div class="col-xs-6 col-sm-6">
    <img data-src="holder.js/200x200/auto/sky" class="img-responsive" alt="200x200" src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/PjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgdmlld0JveD0iMCAwIDIwMCAyMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPjxkZWZzLz48cmVjdCB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgZmlsbD0iIzBEOEZEQiIvPjxnPjx0ZXh0IHg9Ijc0LjA1NDY4NzUiIHk9IjEwMCIgc3R5bGU9ImZpbGw6I0ZGRkZGRjtmb250LXdlaWdodDpib2xkO2ZvbnQtZmFtaWx5OkFyaWFsLCBIZWx2ZXRpY2EsIE9wZW4gU2Fucywgc2Fucy1zZXJpZiwgbW9ub3NwYWNlO2ZvbnQtc2l6ZToxMHB0O2RvbWluYW50LWJhc2VsaW5lOmNlbnRyYWwiPjIwMHgyMDA8L3RleHQ+PC9nPjwvc3ZnPg==" data-holder-rendered="true">
  </div>

  <div class="col-xs-6 col-sm-6">
    <p>
      번호 :  <%= DbRec("number") %>
    </p>
    <p><b>분류명:</b> <%= DbRec("sortcode") %> </p>
    <p><b>정규가격:</b>  <%= FormatNumber(DbRec("stwon"), 0, -1)%> 원</p>
    <p><b>재고수량:</b>  <%=FormatNumber(DbRec("nowcount"), 0, -1) %>개</p>
  </div>

  <div class="col-xs-12">
    <h4>  <p><b>제품명:</b>  <%=DbRec("prodname") %>(<%= DbRec("prodcode")%>)</p></h4>
    <span class="text-muted" ><p><b>할인가격:</b>
    <%= FormatNumber(DbRec("won"),0 ,-1) %>원
    (할인률 : <%= CInt(((DbRec("won")/DbRec("stwon"))*100) )%>%)</p>
    </span>
  </div>

</div>
        <%
          DbRec.MovePrevious
          NEXT

        end if
        %>
      </div>   <!--  End  row placeholders -->


</div> <!--  RS 및 페이지네이션 끝 -->


      </div>

   </div>
</div>


<div class="text-center">

  <nav aria-label="Page navigation">
    <ul class="pagination">

    <% if totpage < ten then %>
        <%    if startpage=1  then %>
        <li class="page-item">
          <a class="page-link" href="prodlist.asp?page=1&startpage=<%=startpage%>&keyfield=<%= keyfield%>&key=<%=key%>" aria-label="Previous">
            <span aria-hidden="true">처음</span>
            <span class="sr-only">첫페이지</span>
          </a>
        </li>
           <% else %>
           <li class="page-item">
             <a class="page-link" href="prodlist.asp?page=<%=cint(Request("page"))-1 %>&startpage=<%=cint(Request("page") )-ten%>&keyfield=<%= keyfield%>&key=<%=key%>" aria-label="Previous">
               <span aria-hidden="true">&laquo;</span>
               <span class="sr-only">이전</span>
             </a>
           </li>
           <%  end if %>

          <%
            For  a=startpage to startpage+ten-1
              if a>totpage then
              exit for
              else
                  if a=curpage then
                  Response.Write "<li class='active' ><a class='page-link' href='#'>" &a&"</a></li>"
                  else
                  %>
                  <li class='page-item' ><a href='prodlist.asp?page=<%= a %>&startpage=<%=startpage %>&keyfield=<%= keyfield %>&key=<%=key%>' class='page-link'><%=a%></a></li>
                  <%
                  end if
              end if
            Next

          if((startpage\ten)=(totpage\ten)) Then
%>
<li class="page-item">
<a class="page-link" href="prodlist.asp?page=<%= totpage %>&startpage=<%=startpage %>&keyfield=<%= keyfield %>&key=<%=key%>" aria-label="Next">
<span aria-hidden="true">끝</span>
<span class="sr-only">Next</span>
</a>
</li>

<%
          else
          %>
          <li class="page-item">
            <a class="page-link" href="prodlist.asp?page=<%= a %>&startpage=<%= a%>&keyfield=<%= keyfield%>&key=<%=key%>" aria-label="Next">
              <span aria-hidden="true">&raquo;</span>
              <span class="sr-only">Next</span>
            </a>
          </li>
          <%
          end if

     Else
    '' Response.write "탑 else"
     For a=startpage to totpage

      if  a=curpage Then
          Response.write "<li class='active'>"
          Response.Write  "<a class='page-link' href='prodlist.asp' >"&a&"</a>"
          Response.Write "</li>"
       end if
          'Response.Write "라"
     next
      %>

  <% end if %>
</ul>
</nav>
</div>

<!--

<nav aria-label="Page navigation example">
  <ul class="pagination">
    <li class="page-item">
      <a class="page-link" href="#" aria-label="Previous">
        <span aria-hidden="true">&laquo;</span>
        <span class="sr-only">Previous</span>
      </a>
    </li>
    <li class="page-item"><a class="page-link" href="#">1</a></li>
    <li class="page-item"><a class="page-link" href="#">2</a></li>
    <li class="page-item"><a class="page-link" href="#">3</a></li>
    <li class="page-item">
      <a class="page-link" href="#" aria-label="Next">
        <span aria-hidden="true">&raquo;</span>
        <span class="sr-only">Next</span>
      </a>
    </li>
  </ul>
</nav> -->


<div style="margin-bottom:200px;">

</div>






<!--#include  virtual=./asp-shoppingMall/mall/include/footer.asp -->

 

 

 

header.asp

<%@Language="VBScript" CODEPAGE="65001" %>
<%
    ' 한글깨짐 방지 처리
   Response.CharSet="utf-8"
   Session.codepage="65001"
   Response.codepage="65001"
   Response.ContentType="text/html;charset=utf-8"

%>
<% response.buffer=true  %>
<!-- Buffer 프로퍼티를 이용한 페이지 버퍼링하기
Response.Buffer 프로퍼티를 사용하면 페이지를 버퍼링할 수 있다. 버퍼링이란 생성한 페이지를 바로
클라이언트로 전달하는 것이 아니라 서버에 보관한 다음 명령에 따라 보내거나 보내지 않게 하는 것이다.
버퍼링을 통해서 클라이언트에 보낼 페이지를 제어할 수 있다.
Response.Buffer = True 혹은 False
True 로 지정하면 페이지 내용을 바로 보내지 않고 버퍼링을 한다. 이 내용은 HTML 페이지 상단에 명시한다.
이 버퍼링된 페이지를 제어하기 위해서는 Flush,  Clear , End 메소드를 사용한다. 버퍼링된 페이지는 End 나
Flush 메소드의 명령을 받기 전까지는 페이지를 버퍼에 그대로 가지고 있다.

Response.Flush : Buffer 에 있는 결과를 즉시 보낸다. Response.Write 메소드를 사용한
출력 내용도 처리가 가능하다.

Respose.Clear : Buffer 에 있는 모든 HTML 결과를 지운다.
Response.End : ASP  파일 처리를 멈추고 현재 결과값을 보낸다. -->

<html lang="ko">
<head>
<title>macaronics</title>
   <meta http-equiv="content-type" content="text/html"; charset="utf-8" >
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1">
   <!-- 위 3개의 메타 태그는 *반드시* head 태그의 처음에 와야합니다; 어떤 다른 콘텐츠들은 반드시 이 태그들 *다음에* 와야 합니다 -->
   <title>macaronics</title>
   <!-- 부트스트랩 -->
   <!-- 합쳐지고 최소화된 최신 CSS -->
   <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
   <!-- 부가적인 테마 -->
   <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap-theme.min.css">
   <!-- 합쳐지고 최소화된 최신 자바스크립트 -->
   <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
   <!-- IE8 에서 HTML5 요소와 미디어 쿼리를 위한 HTML5 shim 와 Respond.js -->
   <!-- WARNING: Respond.js 는 당신이 file:// 을 통해 페이지를 볼 때는 동작하지 않습니다. -->
   <!--[if lt IE 9]>
     <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
     <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
   <![endif]-->
   <!-- Bootstrap core JavaScript
   ================================================== -->
   <!-- Placed at the end of the document so the pages load faster -->
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>


<!-- <style>
#header_menu, #navbar, .navbar navbar-inverse navbar-static-top{
background:#EE7785;
color: white;
}
#header_menu .navbar-header{
  color: white;
}
.navbar-inverse .navbar-brand{
  background:#EE7785;
}

.navbar-inverse .navbar-nav>li>a{
  color:white;
}
.navbar-inverse .navbar-nav>.active>a, .navbar-inverse .navbar-nav>.open>a{
  background:#337AB7;
}

#navbar .navbar-nav>li>a:hover, #navbar  .navbar-nav>li>a:hover{
  background:#337AB7;
}


#footer {
   position:fixed;
   left:0px;
   bottom:0px;
   height:60px;
   width:100%;
   background:#EE7785;
   color: white;

}
#footer  p {

   text-align: center;
   vertical-align: middle;
}
</style> -->

 

 

 

header_menu.asp

<div class="navbar-wrapper">
      <div class="container">
        <nav class="navbar navbar-inverse navbar-static-top">
          <div class="container" id="header_menu">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
                <span class="sr-only">Macaronics</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>

            </div>
            <div id="navbar" class="navbar-collapse collapse">
              <ul class="nav navbar-nav">
                <li><a  href="/asp-shoppingMall/mall/">ASP mall</a></li>
                <li class="active"><a href="/asp-shoppingMall/mall/adduser.asp">회원 등록</a></li>
                <li><a href="/asp-shoppingMall/mall/prodlist.asp">상품목록</a></li>
                <%
                  if session("id1") ="" then
                %>
                  <li><a href="/asp-shoppingMall/mall/login.asp">로그인</a></li>
                <%
                  else
                %>

                        <li><a href="/asp-shoppingMall/mall/memberList.asp">회원록록</a></li>

                        <li><a href="/asp-shoppingMall/mall/logout.asp">로그아웃</a></li>
                        <li class="dropdown">
                          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><%= session("id1")  %>님 환영합니다.
                            <span class="caret"></span></a>
                          <ul class="dropdown-menu" role="menu">
                            <li><a href="/asp-shoppingMall/mall/regedit.asp">회원정보 수정</a></li>
                            <li><a href="#">Another action</a></li>
                            <li><a href="#">Something else here</a></li>
                            <li class="divider"></li>
                            <li class="dropdown-header">Nav header</li>
                            <li><a href="#">Separated link</a></li>
                            <li><a href="#">One more separated link</a></li>
                          </ul>
                        </li>

                <%
                  end if
                %>

                </ul>


            </div>
          </div>
        </nav>
      </div>
    </div>

 

 

dbcon.asp

<%

    Dim dbConnect, db '변수 선언'
    ' DB 연결 접속 정보 변수 저장
    dbConnect = "Provider=SQLOLEDB; Data Source=CJH-PC;Initial Catalog=braverokmc; User id=braverokmc;password=1111"
    ' 연결 객체 생성
    Set db = server.createObject("ADODB.Connection")
    ' 데이터베이스 접속
    db.open dbConnect


%>

 

 

footer.asp

<p class="margin-top:500px"></p>
<div class="rows">
<div class="col-xs-3 col-sm-3"  ></div>
  <div class="col-xs-6 col-sm-6">

<!-- FOOTER -->
   <footer  id="footer">
     <p>&nbsp;</p>
     <p>&copy; 2018 macaronics - Junho Choi</p>
      <p>&nbsp;</p>
   </footer>
</div><!-- /.container -->
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="http://bootstrapk.com/dist/js/bootstrap.min.js"></script>

</body>
</html>

 

 

 

제작  소스 - Junho  choi  - macaronics  : https://github.com/braverokmc79/asp-shoppingMall

 

 

 

 

about author

PHRASE

Level 60  라이트

믿기만 하면 난 그것을 볼 수 있다. -로버트 슐러

댓글 ( 4)

댓글 남기기

작성