์ ์ฒด ๊ธ(210)
-
์ผํ๋ชฐ ํ๋ก์ ํธ(7) ๋ฉ๋ด
๋ฉ๋ด ๊ธฐ๋ฅ ๊ตฌํ. ๊ด๋ฆฌ์ ๋ฉ๋ด๋ ๋ฉ์ธ ๋ฉ๋ด์ ์๋ธ ๋ฉ๋ด 2๊ฐ์ง. ๋ฉ๋ด ํ ์ด๋ธ, ์๋ธ ๋ฉ๋ด ํ ์ด๋ธ ์์ฑ ๋ฉ๋ด๋ ๋ฐ๋ก insert ๊ธฐ๋ฅ ํ์ง ์๊ณ db์ ๋ฐ์ดํฐ ๋ฃ๊ณ ์์ --๊ด๋ฆฌ์ ๋ฉ๋ด ์ ๋ณด(์๋จ ๋ฉ๋ด) CREATE TABLE ADMIN_MENU ( MENU_CODE VARCHAR2(20) CONSTRAINT MENU_PK PRIMARY KEY , MENU_NAME VARCHAR2(50) NOT NULL , MENU_URL VARCHAR2(100) ); DELETE ADMIN_MENU; INSERT INTO ADMIN_MENU VALUES('MENU_001', '์ํ๊ด๋ฆฌ', '/cateManage'); INSERT INTO ADMIN_MENU VALUES('MENU_002', 'ํ์๊ด๋ฆฌ', '/member..
2023.03.28 -
์ผํ๋ชฐ ํ๋ก์ ํธ(6) ์ํ
reg_item.html์ ์ํ ๋ฑ๋ก ํ๋ฉด ๊ตฌํ bootstrap ์ฌ์ฉ. CATEGORY IT/์ธํฐ๋ท ITEM NAME ITEM PRICE ITEM STOCK ITEM INTRODUCTION MAIN IMAGE MAIN IMAGE ํ๋งค์ค ์ค๋น์ค ํ์ REGISTRATION ITEM
2023.03.28 -
์ผํ๋ชฐ ํ๋ก์ ํธ(5) ๋ก๊ทธ์ธ ๊ธฐ๋ฅ
๋ก๊ทธ์ธ ๊ธฐ๋ฅ header.html์ ๋ก๊ทธ์ธ ๋ฒํผ์ onclick ์์ฑ ์ถ๊ฐํ์ฌ js๋ก ์ด๋ ๋ก๊ทธ์ธ ๋ฒํผ ์์ฑ ์ validation์ฒ๋ฆฌ๋ฅผ ํ๋ ค๋ฉด button์ผ๋ก js ์์ ํ๋ฉด ๋๊ณ ๊ทธ๋ฅ ๋ฐ์ดํฐ ๊ฐ์ ธ๊ฐ๋ ค๋ฉด submit์ผ๋ก ํ๋ฉด ๋จ. js์์ ajax์ฌ์ฉํ์ฌ login ํจ์ ์์ฑ. ๋ก๊ทธ์ธ ์ ์์ด๋, ๋น๋ฐ๋ฒํธ ๊ฐ์ ธ๊ฐ์ผ ๋จ. //๋ก๊ทธ์ธ ํจ์ function login(){ //joinModal์๋ memId ์์ ์์ญ ์ ํํ๊ฒ ์ง์ . ๋ณดํต ๊ฒน์น๊ฒ ์์ฑx const memId = document.querySelector('#loginModal #memId').value; const memPw = document.querySelector('#loginModal #memPw').value; //ajax start ..
2023.03.28 -
์ผํ๋ชฐ ํ๋ก์ ํธ(4) ํ์ ๊ฐ์ ๊ธฐ๋ฅ
ID check ๋ฒํผ์ ํด๋ฆญํ๋ฉด ์ค๋ณต์ฌ๋ถ๋ฅผ ์ฒดํฌ ์ค๋ณต ์ฒดํฌ ์ฟผ๋ฆฌ ์์ฑ SELECT COUNT(MEM_ID) FROM SHOP_MEMBER WHERE MEM_ID = #{memId} MemberService ๋ฉ์๋ ์์ฑ ์๋ฃํ boolean์ผ๋ก ์ค. ์ฐธ ๊ฑฐ์ง์ ์๋ฉด ๋๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ณธ์ int์. ๋ฐ์ดํฐ ๋ค๊ณ ์ฌ ๋๋ int๋ก ๋ค๊ณ ์ด. //์์ด๋ ์ค๋ณต ์ฒดํฌ boolean isDuplicateMemId(String memId); MemberServiceImpl ๋ฉ์๋ ๊ตฌํ //์์ด๋ ์ค๋ณต ์ฒดํฌ @Override public boolean isDuplicateMemId(String memId) { //๋ฐ์ดํฐ int๋ก ๋ฐ์์ค๊ธฐ ๋๋ฌธ์ int๋ก ๋ฐ์์ค int result = sqlsession.selectOne("m..
2023.03.27 -
์ผํ๋ชฐ ํ๋ก์ ํธ(3)
์ผ๋ฐํ์์ด ๋ณด๋ ์ํ ๋ชฉ๋ก ํ๋ฉด ๊ตฌ์ฑ content-item-item_list.html ์์ฑ user_layout๊ณผ ์ฐ๊ฒฐ ์ํ๋ชฉ๋กํ๋ฉด user_layout.html ์์ . indexController ๊ฒฝ๋ก ์์ (์ํ ๋ชฉ๋ก ํ๋ฉด์ด ๊ฐ์ฅ ๋จผ์ ๋จ๊ฒ) package com.study.shop; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class IndexController { //ํ๋ก์ ํธ ์์ ์ ์ต์ด์ ์คํ๋๋ ์ปจํธ๋กค๋ฌ @GetMapping("/") //localhost:8081 : ์๋ ๊ฒฝ๋ก ํ์ด์ง๋ก ์ด๋ public S..
2023.03.24 -
์ผํ๋ชฐ ํ๋ก์ ํธ (2)
์นดํ ๊ณ ๋ฆฌ ๋ชฉ๋ก ์ค ์นดํ ๊ณ ๋ฆฌ ์ฌ์ฉ ์ฌ๋ถ๋ฅผ bootstrap ์ฌ์ฉํ์ฌ ๋ผ๋์ค ๋ฒํผ์ผ๋ก ์์ bootstrap ํญ์์ Forms์ Checks & radios์์ ์์ค ๋ณต์ฌ [[${state.count}]] [[${category.cateName}]] ์ฌ์ฉ์ค ๋ฏธ์ฌ์ฉ [[${category.orderNum}]] for๋ฌธ ์์ ๋ผ๋์ค ๋ฒํผ์ด ์๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฅ name ์์ฑ์ ์ฃผ๋ฉด ๋ค ๊ฐ์ name์ ๊ฐ์ง๊ฒ ๋ผ์ ํ๋๋ก ๋ฌถ์ for๋ฌธ ๋๋ฉด์ name ๋ฐ๊ฟ์ค์ผ ํจ. ํ๋ฉด์ ์ฒดํฌ๋์ด ๋ณด์ผ ๋ ์ค์ ์ฌ์ฉ/๋ฏธ์ฌ์ฉ ์ฌ๋ถ์ธ isUse๊ฐ์ด ์ฒดํฌ ๋์ด ํ๋ฉด์ ๋ณด์ฌ์ค์ผ ํจ. ํ์๋ฆฌํ ๋ฌธ๋ฒ th:checked ์์ฑ ์ฌ์ฉํ์ฌ isUse ๊ฐ ๋ถ๋ฌ์์ ๊ธฐ๋ฅ ์ค์ . ์ฌ์ฉ์ฌ๋ถ ๋ผ๋์ค ์ฒดํฌ ๋ณ๊ฒฝ ์ ์ค์ ์นดํ ๊ณ ๋ฆฌ ์ฌ์ฉ ์ฌ๋ถ๋ ๋ณ๊ฒฝ๋๊ฒ ๊ธฐ๋ฅ ์..
2023.03.24 -
์ผํ๋ชฐ ํ๋ก์ ํธ(1) - ์ ๋ฐ์ ์ธ ํ ์ก๊ธฐ
ํ๋ก์ ํธ ์์ ์ ๊ทธ ํ๋ก์ ํธ๋ง ๊ด๋ฆฌํ๋ DB ๊ณ์ ๋ฐ๋ก ๋ง๋ค์ด ์ฃผ๋ ๊ฒ์ด ์ข๋ค. SHOP_MANAGER ๊ณ์ ์์ฑ **์ฐธ๊ณ ์ค๋ฌด์์ ํ ์ด๋ธ ์ปฌ๋ผ์ด ๋ฌด์์ธ์ง ํ์ X ํ ์ด๋ธ ์ ๋ณด์ COMMENTS๋ฅผ ํ์ธํด๋ณด๋ฉด ์ ํ์๋ ๊ฒฝ์ฐ ์์! ํ ์ด๋ธ ๋ฐ ์ปฌ๋ผ์ ์ฝ๋ฉํธ ๋ฌ๊ธฐ --ํ ์ด๋ธ ๋ฐ ์ปฌ๋ผ ์ฝ๋ฉํธ COMMENT ON TABLE SHOP_MEMBER IS 'ํ์์ ๋ณด'; COMMENT ON COLUMN SHOP_MEMBER.MEM_ID IS 'ํ์์์ด๋'; COMMENT ON COLUMN SHOP_MEMBER.MEM_PW IS 'ํ์๋น๋ฐ๋ฒํธ'; SPRING์ ํ๋ก์ ํธ ์์ฑ DB ์์ ํ ๋ application.properties ํ์ผ์ DB ๊ณ์ ์ ๋ณด ๋ณ๊ฒฝ๋ ๊ฒ ์์ ํ๊ธฐ! com.study.shop์ IndexCont..
2023.03.23 -
ajax ์ฐ์ต ํ๋ก์ ํธ
ํ์ด์ง ์ด๋์์ด Controller๋ก ์ด๋ํด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ํ๊ณ ์ถ์ ๋ > ajax ์ฌ์ฉ. select ๋ฐ์ค ๊ฐ ๋ณ๊ฒฝ ์ ๋ณ๊ฒฝํ ๋ฐ์ ํ์ ๋ชฉ๋ก ์กฐํ ๋๊ฒ ๊ตฌํ select ๋ฐ์ค ์ ํํ ๋๋ง๋ค > onchange ์์ฑ์์ ํจ์ ๋ง๋ค์ด์ค. ์ ์ฒด [[${classInfo.className}]] ๋ชฉ๋ก ์กฐํ๋ฅผ ์ํด ์ฟผ๋ฆฌ ์์ฑ SELECT STU_NUM , STU_NAME , STU_AGE , CLASS_NAME FROM AJAX_STUDENT STU, CLASS_INFO CLS WHERE STU.CLASS_CODE = CLS.CLASS_CODE WHERE CLS.CLASS_CODE = #{classCode} ORDER BY CLASS_NAME, STU_NAME service, serviceImpl ๋ฉ์๋ ..
2023.03.22 -
Ajax 2 (์ต๊ทผ ์ ๋ฐ์ดํธ ๋ฐฉ๋ฒ)
**์ฐธ๊ณ ์ฌํญ : Ajax ์ฝ๋ ์คํ ์์ ์ผ๋ฐ์ ์ธ ์ฝ๋๋ ์์ฑ๋ ์์๋๋ก ์คํ๋จ. ajax๋ ๋จ๋ ์ ์ผ๋ก ํด์๋จ. ์๋ฅผ ๋ค์ด ์๋์ฒ๋ผ ์ผ๋ฐ์ ์ธ ์ฝ๋์ ajax์ฝ๋๊ฐ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ 1 2 3 - ajax 3-1 4 5 ์ผ๋ฐ์ ์ธ ์ฝ๋๋ 1,2,4,5๋ฅผ ํด์ํ๊ณ ajax์ธ 3, 3-1์ ๋ฐ๋ก ๋จ๋ ์ ์ผ๋ก ํด์ํ๊ธฐ ๋๋ฌธ์ ์์๊ฐ 1 2 3 3-1 4 5 ์์ผ๋ก ๋์ค์ง ์์ ์ด๋ค ๊ฒ์ด ๋จผ์ ํด์๋ ์ง ๋ชจ๋ฅด๋ ์ํ๊ฐ ๋๋ ๊ฒ! > ์์๋๋ก ๋์ฌ ์ ์๊ฒ ๋ณ๋๋ก ์ ์๋ฅผ ํด์ผ ํจ > async๋ฅผ false๋ก ์ค์ ๋๊ธฐ ๋ฐฉ์์ผ๋ก ์คํํด์ผ ํจ. //ajax start $.ajax({ url: '/admin/checkCateName', //์์ฒญ๊ฒฝ๋ก type: 'post', async : false, //๋๊ธฐ ๋ฐฉ์์ผ๋ก ์คํ, ..
2023.03.22