분류 전체보기 (133) 썸네일형 리스트형 [Java] lambda 에러 : Local variable doesntExistFlag defined in an enclosing scope must be final or effectively final 장바구니 기능을 구현하고 있었다. 사용자는 세 가지 항목을 선택할 수 있었다. 주문할 상품과, 주문 갯수와, 배송 받을 날짜다. 같은 사용자가 같은 상푸믈 같은 배송 날짜로 선택하여 장바구니에 넣을 경우에는 테이블에 새로운 항목이 생기지 않는다. 대신 기존에 있던 항목에서 주문 갯수만 늘리기로 한다. 화면 처리를 위해 경우의 수를 세 가지로 나누었다. 첫째, 사용자 정보와 주문할 상품과 배송 받을 날짜가 모두 같은 경우다. 둘째, 사용자 정보와 주문할 상품은 같지만 배송 받을 날짜는 다른 경우다. 셋째, 사용자 정보만 같고, 주문할 상품과 배송 받을 날짜는 다른 경우다. 일단 화면으로부터 사용자가 선택한 정보들을 받아온다. 그리고 사용자가 장바구니에 추가했던 목록을 모두 불러와서 같은 내용이 있는지 비교.. [SQL] inner join 을 써야 할 때와 left join 을 써야 할 때 / 차이 - INNER JOIN 은 양쪽 모두에 데이터가 있을 때만 - 테이블끼리 JOIN할 때는 보통 INNER JOIN 을 많이 사용한다. 하지만 LEFT JOIN도 잘 활용할 줄 알아야 한다. 예를 들어서 주문을 하면 주문 테이블에 데이터가 생성된다. 동시에 배송 테이블에도 기본값으로 데이터가 들어가지만, 반품 테이블에는 반품을 신청했을 때에만 데이터가 생성된다. 화면에 데이터를 들고 올 때는 주문 정보, 배송 정보, 반품 정보를 모두 들고 오고 싶다. 반품 정보가 있는지 없는지는 화면에서 처리하려고 한다. 이런 상황에서 반품 정보를 가져올 때 INNER JOIN 을 사용해서 가져오면 제대로 들고 오지 못한다. 이미 반품을 신청하여 반품 데이터가 있을 때만 들고 오기 때문이다. INNER JOIN 은 중심 .. javascript date 일 더하기 사용자로부터 날짜를 입력받는다. 선택 날짜에 제한을 두고 싶다. 예를 들어서, 예약 날짜를 입력 받는데 오늘로부터 최소 3일 이후부터만 선택 가능해 보자. //사용자가 날짜를 입력하는 태그 //파라미터로 던져 준 숫자만큼 날을 더하는 함수 addDays()를 Date에 prototype으로 넣어 둠. Date.prototype.addDays = function(days) { const date = new Date(this.valueOf()); date.setDate(date.getDate() + days); return date; } const dateVal = document.querySelector('input#orderDate').value; //사용자가 입력한 날짜를 문자열 형태로 받아옴 cons.. input 태그에서 최소값 min 최대값 max 설정하기 / text에서 숫자만 받기 number only - input 태그 type을 number로 설정하기 - 사용자로부터 정보를 입력받을 때는 input 태그를 사용한다. 이때 숫자 자료형으로 입력받고 싶다면 type을 number로 설정해주면 된다. //숫자만 입력받기 (기본값1) 숫자를 입력 받을 때, 어떤 숫자 이상만 입력 가능하거나 어떤 숫자 이하만 입력 가능하도록 제한을 걸어 두어야 할 때도 있다. 그럴 때는 최대값이나 최소값을 설정해주면 된다. //최소 1, 최대 10 사이에서 입력 받기 최대값이나 최소값 제한이 적용되는 것은 마우스로 값을 조정할 때뿐이다. 키보드로 입력할 때는 인식하지 못한다. 따라서 키보드로 입력하는 값은 따로 이벤트 설정을 해두어야 한다. - type은 text로 하고 이벤트로 제한하기 - 숫자만 입력받는 또 다른 방법이.. [JavaScript] yyyy-mm-dd 형태로 format 해서 출력하기 - javascript 에서 시각을 YYYY-MM-DD로 변형하기 - 현재 시각은 new Date()로 출력할 수 있다. 출력 형태는 아래와 같다. Sat Apr 16 2022 22:45:02 GMT+0900 (한국 표준시) Date.now()는 아래와 같이 유닉스 타임을 돌려준다. 1650116719429 형식을 YYYY-MM-DD 형태로 바꾸고 싶다면 어떻게 해야 할까. 아쉽게도 javascript 내장함수는 따로 없다. 직접 만들어서 써야 한다. 아래와 같이 만들 수 있다. function dateFormatter(d) { const cal = new Date(d); //파라미터로 전달 받은 날짜를 가지고 새로운 Date 자료형 변수를 만든다. const year = cal.getFullYear().. jQuery로 checkbox 값 가져오기 / 체크박스 value 변경하기 - checkbox 값 체크 여부 받아오기 - 체크박스는 토글 요소다. 체크가 되어 있거나, 되어 있지 않거나, 둘 중 하나다. 체크 여부는 checked 속성을 확인할 수 있다. 체크되어 있으면 checked 가 활성화돼 있고, 체크되어 있지 않으면 checked 속성이 없다. jQuery를 활용하면 특정 체크박스가 체크되어 있는지 아닌지 여부를 손쉽게 확인할 수 있다. > is() 함수 이용하기 const isChecked = $(item).find('input[name="isRefund"]').is(':checked'); is() 함수는 파라미터로 던져주는 선택자, 함수, 요소 등에 부합하는 대상이 있다면 true를 반환하고, 없으면 false를 반환한다. $(item).find('input[nam.. JSTL 에서 forEach 사용할 때 index값 받아오기 JSTL 에서 forEach 돌릴 때 index 값을 받아오려면 varStatus 속성을 써야 한다. varStatus 속성에 변수명을 적어 주고, 그 변수 안에서 index 속성에 접근한다. 예시 ${item.fruitName} ${item.fruitColor} ${item.fruitPrice} -220416 sql 날짜 비교 where 절 조건 넣을 때 주의할 점 - 문제 : date 자료형에 where 조건 적용 - sql 에서 WHERE 절로 검색 조건을 적용할 때, 날짜에 공백을 넣으면 제대로 작동하지 않는다. 예를 들어 SELECT * FROM tb_purchase p; 위는 결과가 제대로 나오지만 아래는 검색 결과가 하나도 나오지 않는다. SELECT * FROM tb_purchase p WHERE p.purdate '' --모든 결과 읽어옴 SELECT * FROM tb_purchase p WHERE p.purdate < '' --어떤 결과도 읽어오지 않음 위처럼 초기 화면으로 들어갔을 때는 결과가 여러 건 출력된.. 이전 1 ··· 7 8 9 10 11 12 13 ··· 17 다음