본문 바로가기
개발자/비트캠프

프로젝트 코드 변경 사항 및 메모 #4

by mingutistory 2020. 4. 30.
728x90

Q&A 게시판


📌 To Do List

[x] 리스트, 페이징
[x] 글 작성, DB 저장
[x] 글 상세보기
[x] 글 수정, 삭제
[ ] 비공개, 공개 설정
[ ] 댓글, 대댓글
[ ] 예외처리 설정


💡 리스트, 페이징

  • view 생성하지 않고 join문 통해서 리스트 출력
select rownum as rnum, qna_num, member_id, member_name, qna_type, qna_title, qna_file, qna_content, 
        qna_date, qna_file, qna_check, qna_scr, qna_pass from (SELECT q.qna_num, q.member_id, m.member_name, q.qna_type, q.qna_title, 
        q.qna_content, q.qna_date, q.qna_file, q.qna_check, q.qna_scr, q.qna_pass 
        FROM qna q,member m where q.member_id = m.member_id ORDER BY qna_num desc) where rownum between ${startrow} and ${endrow}

이런 식으로하니까 1-10번까지는 잘 나오는데 11-20부터 검색 결과가 없기 시작했음.

황당 한건 startrow : 1, endrow : 20으로 설정하면 11, 12번 검색 결과가 같이 뜨는데 startrow : 11, endrow : 20만 하면 사라진다는 것.

  • ORA-00918: 열의 정의가 애매합니다 > 오류 메세지를 보면 바로 알겠지만 컬럼이 어느 테이블에 정의 되어있는지 확실하지 않을 때 나오는 에러코드
    • alias(별칭)을 통해서 명확하게 지정 가능 / 별칭 지정후 .* 을 통해서 전체 컬럼 선택 가능.
select * from (select rownum as rnum, s.* from (
            select q.*, m.member_name FROM qna q,member m where q.member_id = m.member_id ORDER BY qna_num desc) s)
           where rnum between ${startrow} and ${endrow}

이런 식으로 변경해주니까 더 보기 좋다

💡 글 작성, DB 저장

  • summernote 에디터 사용
  • 파일 업로드 부분 확인 필요

코드 중복 없게 뜯어 고치는 중. 우선 DB 저장까지 내 코드로 다 변경했다.

💡 글 상세보기

DB에 있던 데이터 ㅋㅋㅋ 이건 볼 때 마다 진짜 있을 것 같은 글이라 웃기다 ㅋㅋㅋㅋ 맞춤법이 포인트 ㅋㅋ
여튼 CSS 전체적으로 수정했고 덧글 창하고는 일단 코드 다 빼 뒀다.

💡 글 수정, 삭제

작은 기능 추가

  • 수정 시 라디오 버튼 값 가져와서 체크하기
$("input[name=qna_type][value='<%=qvo.getQna_type()%>']").prop('checked', true);

조금 오랜만에 제이쿼리 만졋다고 살짝 햇깔렸다.

  • 삭제 비밀번호 입력 코드 중복 해결
    비밀번호 입력 페이지가 두 개 길래 뭐지? 했다가 아~ 했다가 고민하다가 뒤에 파라미터를 붙여서 구분하는 식으로 해결했다.

  • 정규식 추가

💡 일기

역시 다른 사람 코드 보는게 제일 힘든 것 같다. 결국에는 코드 거진 날리고 디자인 틀 빼고는 다 내 코드로 변경.  

노션으로 요즘 이것저것 하고 있어서 거기에 프로젝트 진행 사항 적으면서 마크다운으로 익스포트해서 가져와봤는데 괜찮은 것 같다. 인프런 강의 듣고 하는것도 지금 git에서 정리하고 있어서 마크다운이랑 더 친해지려고 노력 중임.그리고 진짜 요즘 계속 깨작깨작 3시간씩 쪼개서? 막 그런식으로 코딩 했었는데 오늘 아침 10시부터 지금까지 계속 고쳤는데 또 .. 재미있네.. 5시까지는 진짜 모르고 계속 코딩만 했다.

우선 리드미도 작성해야 하고... 근데 일단 관리자 메인에서 고치고 싶은게 하나 있어가지구 그거 고치고 나면 일단 git에 프로젝트 올려놔야지.. 5월 초 내로 빨리 해버리고 말겠다.. 

300x250

댓글