승인버튼과 보류버튼을 활성화 시켜줬다.
관리자 페이지로 들어가면 상품리스트에서 승인여부 확인이 가능하고
승인되지 않는 상품과 보류상품도 따로 확인이 가능한다.
관리자 승인을 받지 않은 상품은 검색등 카테고리에서 노출이 불가능하다.
그래서 모든 쿼리에 서브쿼리를 추가했다.
FROM절을 productcheck ='y'
체크에 yes한 상품만 노출이 가능하다.
FROM (SELECT * FROM products WHERE productcheck ='y')
SELECT productName, TO_CHAR(productPrice, 'fm9,999,999,999')
productPrice, productType,
TO_CHAR(REGDATE, 'yyyy-mm-dd') regdate
FROM (SELECT * FROM products WHERE productcheck ='y')
WHERE productname LIKE ?
ORDER BY productNum DESC;
마이페이지에서는 DB의 정보를 뿌려주고
별명과 전화번호를 변경 가능하게 했다.
별명의 경우 중복된 별명은 사용이 불가능한데
일반적으로 중복확인을 하면 기존 별명이 중복될 경우가 있어서 한번 걸러서 별명이 DB의 내용과 다르면 중복체크를 시켰다.
$(".updateBtn").click(function(){
if($("#nickname").val()=='${sessionScope.nickname}'){
$.ajax({
url:"MyPageShow",
type:"post",
dataType:"text",
data:{
tel : $("#tel").val(),
nickname : $("#nickname").val()
},
success:function(data){
if(data==1){
window.location.reload();
alert("변경완료");
}
}
});
}else{
$.ajax({
url:"CheckNickName",
type : "get",
data:{
nickName : $("#nickname").val()
},
dataType:"text",
success:function(data){
if(data==1){
window.location.reload();
alert("중복된 별명입니다.");
}else{
$(".updateBtn").click(function(){
$.ajax({
url:"MyPageShow",
type:"post",
dataType:"text",
data:{
tel : $("#tel").val(),
nickname : $("#nickname").val()
},
success:function(data){
if(data==1){
window.location.reload();
alert("변경완료");
}
}
});
});
}
}
});
}
});
인기있는 찜품목을 알아내기위해 트리거를 만들었다
(드디어 마침내)
찜트리거가 들어갈 로그테이블
create table pick_log(
REGDATE DATE DEFAULT SYSDATE not null,
u_id varchar2(40) not null,
productName varchar2(40) not null,
status varchar(1)
);
찜트리거 찜 테이블에 insert
delete
가 될 경우
트리거에 기록된다.
CREATE or REPLACE TRIGGER tri_pick
after insert or delete
on productPick
for each row
BEGIN
if inserting then
INSERT INTO pick_log
(REGDATE, u_id, productName, status)
values(sysdate, :new.u_id, :new.productName, 'i');
elsif deleting then
INSERT INTO pick_log
(REGDATE, u_id, productName, status)
values(sysdate, :old.u_id, :old.productName, 'd');
end if;
end tri_pick;
/
이런느낌으로 날짜와 아이디 제품명 상태변화가 들어간다