728x90

 

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> EVERYDAY</title>

<link rel="stylesheet" type="text/css" href="notice1.css?after">


</head>
<body>


    <form action="notice.bo" method="post">
        <fieldset>
            <table border="">
                <th>공지사항</th>
                <tr>
                    <td>번호</td>
                    <td>제목</td>
                    <td>작성자</td>
                    <td>작성일</td>
                    <td>조회</td>
                </tr>    
                <tr>
                    <td>1</td>
                    <td>마켓컬리 배송 안내</td>
                    <td>마켓컬리</td>
                    <td>22.07.13</td>
                    <td>50</td>
                </tr>
                <tr>
                    <td>2</td>
                    <td>마켓컬리 배송 안내</td>
                    <td>마켓컬리</td>
                    <td>22.07.13</td>
                    <td>55</td>
                </tr>
            </table>
        </fieldset>
    </form>


</body>
</html>
728x90
반응형
728x90

마켓컬리 UI 본따와서 공지사항 만들기

테이블 및 하단 검색 쪽 센터정렬

글씨 색, 크기 및 위치조절

flex, padding

margin 0 auto로 센터정렬

인라인스타일 CSS 줄이고 외부스타일로

 

센터정렬 방법 : margin 0 auto
    부모태그의 넓이를 모르는데 자식태그가 어떤걸 기준을 줄지 모르기 때문에
        부모태그의 width100%를 설정해줘야함

        이미지 크기 조절 방법1
        미디어쿼리
        미디어쿼리로 웹사이트 크기마다 이미지크기를 고정크기로 줘서 움직이게 하면됨

        이미지 크기 조절 방법2
        이미지 하나마다 div태그로 컨테이너를 줘서 width100%로 이미지를 div태그 컨테이너 안에
        꽉채우고 이미지를 채우는 방식이 반응형이나 모바일웹에도 유리함

 

HTML

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- font awesome : 아이콘  -->

<link rel="stylesheet" type="text/css" href="notice2css.css">
<script src="https://kit.fontawesome.com/76295929c4.js" crossorigin="anonymous"></script>



</head>
<body>
    <div class="container">

<!-- 헤더푸터는 클래스명 신경써야함
다른 페이지 임포트 되는거에는 css 선택자 적용안됨
메인 : 페이지가 달라지는거니 상관없다 -->

        <!-- <div class="header">
            <div class="userMenu">
                <ul>
                    <li><a href="#">회원가입</a></li>
                    <li><a href="#">로그인</a></li>
                    <li><a href="#">고객센터</a></li>
                </ul>                
            </div>
            // h1은 보통 로고를 넣을 때 사용 
            <h1><img src="" alt="logo"></h1>
            <div class="menuBox">
                <div></div>
                <ul>
                    <li></li>
                    <li></li>
                    <li></li>
                    <li></li>
                    <li></li>
                </ul>
            </div>
        </div> -->

        <div class="main">
            <div class="infoContainer">
                <div class="titleArea">
                    <h3 >공지사항</h3>
                    <span>
                        TREND_EATER의 새로운 소식과 유용한 정보를 한곳에서 확인하세요
                    </span>
                </div>
                <!-- 테이블로 게시판 만들기!! -->
                <div>
                    <table>
                        <thead>
                           <tr>
                                <th>번호</th>
                                <th>제목</th>
                                <th>작성자</th>
                                <th>작성일</th>
                                <th>조회</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td width="50" nowrap="" align="center">1441 </td>        
                                <td style="padding-left:10px; text-align:left; color:#999">
                                    <a href=""><b>[마켓컬리] KURLY BIRTH WEEK 럭키기프트` 이벤트 당첨 안내</b></a><b></b></td>
                                <td width="100" nowrap="" align="center"> MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2022-05-23</td>
                                <td width="30" nowrap="" align="center" class="eng2">7629</td>
                            </tr>
                            <tr>
                                <td width="50" nowrap="" align="center">1443 </td>
                                    <td style="padding-left:10px; text-align:left; color:#999">
                                        <a href=""><b>마켓컬리 배송 안내</b></a><b></b></td>
                                    <td width="100" nowrap="" align="center">MarketKurly </td>
                                    <td width="100" nowrap="" align="center" class="eng2">2016-01-08</td>
                                    <td width="30" nowrap="" align="center" class="eng2">3172001</td>
                            </tr>
                            

                            <tr>
                                <td width="50" nowrap="" align="center">1442 </td>
                                <td style="padding-left:10px; text-align:left; color:#999">
                                    <a href=""><b>[마켓컬리] 포장재 회수 서비스 안내</b></a><b></b></td>
                                <td width="100" nowrap="" align="center">MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2021-06-18</td>
                                <td width="30" nowrap="" align="center" class="eng2">49299</td>
                            </tr>
                            <tr>
                                <td width="50" nowrap="" align="center">1441 </td>
                                <td style="padding-left:10px; text-align:left; color:#999">
                                    <a href="">[가격인상공지] [옥소] 굿그립 3종 핸드 스파이럴라이저 외 38건 (2022 6. 16 ~)</a></td>
                                <td width="100" nowrap="" align="center">MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2022-06-10</td>
                                <td width="30" nowrap="" align="center" class="eng2">46</td>
                            </tr>
                            <tr>
                                <td width="50" nowrap="" align="center">1440 </td>
                                <td style="padding-left:10px; text-align:left; color:#999">
                                    <a href="">[가격인상공지] [연세우유 x 마켓컬리] 전용목장우유 900mL (2022 6. 18 ~)</a></td>
                                <td width="100" nowrap="" align="center">MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2022-06-10</td>
                                <td width="30" nowrap="" align="center" class="eng2">53</td>
                            </tr>
                            <tr>
                                <td width="50" nowrap="" align="center">  1439 </td>
                                <td style="padding-left:10px; text-align:left; color:#999">
                                  <a href="">[가격인상공지] [제스파] 듀얼맥스태핑 발안마기 ZP1063 (2022 6. 15 ~)</a></td>
                                <td width="100" nowrap="" align="center">MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2022-06-10</td>
                                <td width="30" nowrap="" align="center" class="eng2">33</td>
                            </tr>
                            <tr>
                                <td width="50" nowrap="" align="center">  1439 </td>
                                <td style="padding-left:10px; text-align:left; color:#999">
                                  <a href="">[가격인상공지] [제스파] 듀얼맥스태핑 발안마기 ZP1063 (2022 6. 15 ~)</a></td>
                                <td width="100" nowrap="" align="center">MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2022-06-10</td>
                                <td width="30" nowrap="" align="center" class="eng2">33</td>
                            </tr>
                            <tr>
                                <td width="50" nowrap="" align="center">  1439 </td>
                                <td style="padding-left:10px; text-align:left; color:#999">
                                  <a href="">[가격인상공지] [제스파] 듀얼맥스태핑 발안마기 ZP1063 (2022 6. 15 ~)</a></td>
                                <td width="100" nowrap="" align="center">MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2022-06-10</td>
                                <td width="30" nowrap="" align="center" class="eng2">33</td>
                            </tr>
                            <tr>
                                <td width="50" nowrap="" align="center">  1439 </td>
                                <td style="padding-left:10px; text-align:left; color:#999">
                                  <a href="">[가격인상공지] [제스파] 듀얼맥스태핑 발안마기 ZP1063 (2022 6. 15 ~)</a></td>
                                <td width="100" nowrap="" align="center">MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2022-06-10</td>
                                <td width="30" nowrap="" align="center" class="eng2">33</td>
                            </tr>
                            <tr>
                                <td width="50" nowrap="" align="center">  1439 </td>
                                <td style="padding-left:10px; text-align:left; color:#999">
                                  <a href="">[가격인상공지] [제스파] 듀얼맥스태핑 발안마기 ZP1063 (2022 6. 15 ~)</a></td>
                                <td width="100" nowrap="" align="center">MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2022-06-10</td>
                                <td width="30" nowrap="" align="center" class="eng2">33</td>
                            </tr>

                        </tbody>
                            


                    </table>
                </div>
                

                <div class="boardSearchBox">
                    <div>
                        <span>검색어</span>
                        <ul>
                            <li><label><input type="checkbox">이름</label></li>
                            <li><input type="checkbox">제목</li>
                            <li><input type="checkbox">내용</li>
                        </ul>
                    </div>
                    <div class="searchBar">
                        <input type="search">
                        <input type="image" name="submit" src="search.png">
                    </div>
                </div>
            </div>
        </div>
        
        

       

    </div>
   
</body>
</html>

 

CSS

html, body {
    box-sizing: border-box;
}
.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    
}

.main{
    width: 100%;
    display: flex;
    justify-content: center;
    font-family:'Noto Sans KR', sans-serif;
    
}

.main .infoContainer {
    flex-basis: 80%;
    height: 800px;
    background-color: white;
    
}
.infoContainer  table{
    margin: 0 auto;
} 

.titleArea{
    display: flex;
    /* justify-content: center; */
    gap: 3%; 
    align-items: center;
    padding: 2% 11%;
    width:820px;
    margin: 0 auto;
}
.titleArea > div{
    margin: 0 auto;
}
.titleArea > h3{
    font-size: 22px; font-weight: 500;
}
.titleArea > span{
    font-size: 13px; color:rgb(135, 133, 133);
}

.boardSearchBox {
    /* justify-content의 letf,right,center 위치 외에 세부조정하고 싶으면,
     justify-content: space-between으로 공백을 줘서 조정하면 됨*/
    display: flex;
    justify-content: space-between; /* space-between의 디폴트 범위지정값은 나머지 텍스트나 범위를 제외한 전부를 먼저 준다 */
    align-items: center;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #FCD2D1;
    width:770px;
    margin: 0 auto;
}

.boardSearchBox > div {
    display: flex;
    gap: 10px;
}
.boardSearchBox span {
    font-size: x-small;
    padding-top: 5px;
    align-content: center;
    vertical-align: middle;
}

.boardSearchBox > div > ul {
    display: flex;
    /* justify-content: space-between;  */
    list-style: none;
    gap: 10px;
    font-size: smaller;
}
.boardSearchBox > div.searchBar{
    /* boardSearchBox 아래있는 div태그 중에 이름이 searchBar인 태그에만 적용 */
    display: flex;
    gap : 0px;

    
}
/* 
.boardSearchBox > div .searchBar
boardSearchBox 아래있는 div태그 자식 요소 중에 seachBar태그에만 적용  */

.searchBar > input{
    display: flex;
    border: 1px solid lightgray;
}

thead tr{
    width: 100%;
    height: 2rem;
        min-height: 20px;
        max-height: 50px;
    border-top: 2px solid rgb(254, 143, 143)  ;
    border-bottom: 2px solid #FE8F8F  ;
}
thead th{
    padding: 2% 1%;
    vertical-align: middle;
    text-align: center;
    font-size: small;
    font-weight: none;
}
tbody > tr{
    height: 2rem;
    /* border-top: 1px solid lightgray; */
    border-bottom: 1px solid lightgray;
    align-content: center;
    vertical-align: middle;
}
tbody > tr > td{
    height: 2rem;
    font-size: small;
    font-family: noto sans;
    align-content: center;
    vertical-align: middle;
    letter-spacing: 0px;
}
tbody td:nth-last-child(1){
    color: gray;
} 
tbody td:nth-last-child(2){
    color: gray;
} 
/* 뒤에서부터 4번째가 tr태그면 적용  // 태그 우선 */

 

728x90
반응형
728x90

 

 

&nbsp;

 공백을 표시하기 위한 특수문자

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8" %>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>prac</title>

<style type="text/css">
	#tb{margin:auto; width:700px; border-collapse:collapse;}
	#tb tr td{padding: 5px}
	#buttonTab{border-left: hidden; border-right:hidden;}

</style>

</head>
<body>


	<c:import url="..common/menubar.jsp"/>
	
	<h1 align="center">게시글 목록</h1>
	<h3 align="center"> 총 게시글 갯수 : ${pi.listCount }</h3>
	
	<table border="1" id="tb">
		<!-- 제목 tr -->
		<tr style="background: yellowgreen;">
			<th>번호</th>
			<th width="300">제목</th>
			<th>작성자</th>
			<th>날짜</th>
			<th>조회수</th>
			<th>첨부파일</th>
		</tr>
		<!-- 내용 tr -->
		<c:forEach var="b" items="${list}">
			<tr class="contentTr">
				<td align="center">${b.boardId }</td>
				<td align="center">${b.boardTitle }</td>
				<td align="center">${b.boardWriter}</td>
				<td algin="center">${b.boardCreateDate }</td>
				<td algin="center">${b.boardCount }</td>
				<td align="center"></td>			
				<td align="left">
					<c:if test="${ !empty b.originalFileName }">
						◎
					</c:if>
				</td>		
			</tr>
		</c:forEach>	
		<!-- 글쓰기 버튼 tr  -->
		<tr>
			<td colspan="6" align="right" id="buttonTab">
				<c:if test="${!empty loginUser }">
					&nbsp; &nbsp; &nbsp; <!-- &nbsp; : 공백을 표시하기 위한 특수문자 -->
					<button onclick="location.href='binsertView.bo';">글쓰기</button>
				</c:if>
			</td>
		</tr>
		
		<!-- 페이징처리 tr -->
		
		
		
	</table>
	
	
	<script>
	
	
	</script>


</body>
</html>
728x90
반응형
728x90

 

 
< 표 만들기 >
       
        목록 생성 태그 : ol, ul, li
            ol : ordered list
            ul : unordered list
            li : list
        표 생성 태그 : table
            table만 가지고 표가 생성되지는 않는다
            tr,td가 부수적으로 필요
           
        table : 표 생성 태그
            tr : 행 생성 태그
            td : 한 행에 셀 생성 태그
                   
           
 
             테이블의 구성 요소(태그)
        1. <table> : 테이블을 만드는 태그
        2. <th> : 테이블의 헤더 부분을 만드는 태그
        3. <tr> : 테이블의 행을 만드는 태그
        4. <td> : 테이블의 열을 만드는 태그
        5. <caption> : 테이블 이름 표시
        6. <thead> : 테이블의 헤더 영역 지정(컴퓨터한테 구조 알려줌)
        7. <hbody> : 테이블의 바디 영역 지정(컴퓨터한테 구조 알려줌)


           테이블 디자인 변경(속성)
        1. border : 테이블의 테두리
        2. bordercolor : 테이블의 테두리 색상
        3. width : 테이블 가로 크기
        4. height : 테이블 세로 크기
        5. align : 정렬
        6. bgcolor : 배경색
        7. colspan : 가로 병합(열 병합)
        8. rowspan : 세로 병합(행 병합)
 

       
        HTML5에서 <figure>태그는 삽화나 다이어그램, 사진 등과 같이 문서의 주요 흐름과는
        독립적인 콘텐츠를 정의할 때 사용
       
        <figure>요소의 콘텐츠는 문서의 내용과 연관성을 갖지만,
        해당 콘텐츠의 위치가 문서의 주요 흐름과는 독립적이기 때문에 제거해도 문서의 흐름에 영향을 주면 안 됨.
728x90
반응형
728x90

메세지

ORA-12983: cannot drop all columns in a table 12983. 00000 - "cannot drop all columns in a table"

*Cause: An attempt was made to drop all columns in a table. *Action: Ensure that at least one column remains in the table after the drop column operation.

원인

테이블에 컬럼을 전부 지우려다 발생

테이블에 컬럼이 하나라도 남아있어야한다

 

ALTER TABLE DEPT_COPY2
DROP COLUMN DEPT_TITLE;
728x90
반응형
728x90

 

ALTER, DROP - 컬럼 추가,삭제,수정, 컬럼명 변경, 제약조건 추가 ,삭제, 제약조견명 변경

테이블명 변경, 삭제

RENAME A TO B

ADD

MODIFY

 

/*
------------------------------------------------------------------------------
----------------------------------ALTER --------------------------------------
------------------------------------------------------------------------------

-- ALTER 
객체 수정

컬럼 추가/삭제, 제약조건 추가/삭제, 컬럼 자료형 변경, 디폴트값 변경
테이블명/컬럼명/제약조건명 변경


*/

-- 컬럼 추가/삭제/수정

SELECT * FROM UC;

-- 추가
ALTER TABLE UC ADD (PHONE NUMBER);
ALTER TABLE UC ADD (NATIONALITY VARCHAR2(20) DEFAULT '한국');
-- 컬럼 PHONE, NATIONALITY 추가완료. NATIONALITY 지정안하면 기본값으로 한국


DESC UC;
-- 수정
ALTER TABLE UC
MODIFY USER_ID VARCHAR2(30)
MODIFY GENDER CHAR(3) -- ERROR : ORA-01441: cannot decrease column length because some value is too big
MODIFY NATIONALITY DEFAULT '미국';  -- 바꿀 자료형의 크기가 들어있는 데이터보다 작으면 에러

-- 삭제
ALTER TABLE UC
DROP COLUMN PHONE; -- PHONE 컬럼 삭제


-- 제약 조건과 함께 컬럼 삭제
ALTER TABLE UC
DROP COLUMN USER_NAME CASCADE CONSTRAINT;

DESC UC;

------------------------------------------------------------------------------
------------------------------------------------------------------------------

ALTER TABLE TB1
DROP COLUMN COL1;


-- 제약 조건과 함께 삭제
ALTER TABLE TB1
DROP COLUMN PK1 CASCADE CONSTRAINTS;

SELECT * FROM UC;

-- 제약 조건 추가
ALTER TABLE UC ADD CONSTRAINT UC_GEN_UQ UNIQUE(GENDER);
ALTER TABLE UC ADD CONSTRAINT EMP_ENAME_UQ UNIQUE(USER_NO);
ALTER TABLE UC ADD CONSTRAINT EMP_ENAME_UQ UNIQUE(USER_NO);



-- 제약조건 삭제
ALTER TABLE UC DROP CONSTRAINT EMP_ENAME_UQ;

-- 제약조건 한번에 여러개 삭제
ALTER TABLE UC
DROP CONSTRAINT SYS_C007129
DROP CONSTRAINT SYS_C007130
DROP CONSTRAINT SYS_C007127; -- GENDER의 CHECK 남여조건 빼고 제약조건 다 삭제

-- 컬럼명 변경
-- RENAME A TO B : A를 B로 컬럼명 변경
ALTER TABLE UC
RENAME COLUMN GENDER TO GENDER2;
ALTER TABLE UC
RENAME COLUMN GENDER2 TO GENDER;

-- 제약조건 이름 변경
ALTER TABLE UC
RENAME CONSTRAINT SYS_C007128 TO UC_CHECK1; 

DESC UC;
------------------------------------------------------------------------------

--테이블명 변경
ALTER TABLE DEPT_COPY
RENAME TO DEPT_COPY2;

--테이블 삭제
DROP TABLE DEPT_COPY;
--테이블+제약조건 삭제
DROP TABLE DEPT_COPY
CASCADE CONSTRAINTS;
728x90
반응형

+ Recent posts