그룹사이트의 채용공고 사이트를 만들려고 합니다. 보통 채용공고 사이트를 보면
https://spc.career.co.kr/apply/write/?jobid=1101 하단의 사이트처럼
처음에 개인정보 활용 동의 간단한 기본인적사항(이름 이메일 비밀번호) 작성후
다음페이지로 넘어가잖아요~
그리고 기본으로 이력서 들록하고 중간저장하고, 다음페이지로 넘겨서 또 자기소개서 부분 작성하고
마지막페이지에서 중간저장이나 최종입사지원버튼을 누르게끔 화면이 구성되어 있는데 ㅜ
어떻게 시작해야 할지 모르겠어요.
처음에는 회원가입이나 게시판 구조를 활용해서 만들어 보려 했으나 ㅜ 어렵네요.
또, 채용지원후에 수정부분이나 지원조회를 하려면 어떻게 해야 할까요?? ㅜㅜ
정말 도와주세요 ㅜㅜ
답변 3개 / 댓글 3개
생각해보니 별도 테이블은 필요없이 중간저장이 게시물 저장이라고 생각하시고
중간저장은 그냥 입력된 내용을 게시물에 저장하면 될 것 같습니다.
방법은 ajax를 사용하셔도 되구요. 아니면 안보이는 iframe을 하나 생성하셔서 form의 target을 이 안보이는 iframe으로 넣으셔도 됩니다.
설명으로만 적자면..
이메일이 아이디 패스워드가 패스워드가 됩니다.
각각의 파트를 체크할 수 있는 테이블을 만드시고
ex ) 아이디 / 패스워드 / 진행페이지 / 등록시간
aaa@aaa / ******* / page1 / 2015-05-11 00:00:00
각각의 페이지에 맞는 테이블을 만듭니다. (필요한 데이터로 작성)
지원조회는 진행페이지 별로 체크하시면 되구요.
ex) SELECT * FROM `지원정보` WHERE `진행페이지` = 'page4'
지원 정보를 다 가져오고 싶으면 LEFT JOIN 걸면 되겠죠?
`지원정보` A
LEFT JOIN `page1` B ON A.EMAIL = B.EMAIL
LEFT JOIN `page2` B ON A.EMAIL = B.EMAIL
LEFT JOIN `page3` B ON A.EMAIL = B.EMAIL
...
이런식으로 가져오고
수정페이지도 마찬가지로 하면 됩니다.
중간 저장은 각 page 별 테이블에 insert to update 돌리시고 지원정보를 저장하는 테이블에 해당 페이지 정보를 update 쳐줍니다.
insert to update 는 duplicate key 쓰면 됩니다.
https://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
답변에 대한 댓글 2개
email 은 유니크한 값으로 아이디로 관리하는것입니다.
페이지 작성중 또는 작성 후 페이지를 빠져나갔을 때 그 사용자가 누군지 알 수 있는 방법은 email 뿐입니다.
해당 이메일로 접속을 하게 되면
아래의 조건을 타겠죠
SELECT `진행페이지`, `NAME` FROM `진행정보` WHERE EMAIL = '[email protected]'
그러면 진행페이지를 알 수 있으며, 해당 진행페이지 정보를 먼저 전달합니다.
'김철수' 님이 작성한 지원서가 존재합니다. 이어 쓰시겠습니까?
Y/N
이 부분에서 Y 를 받게되면
SELECT * FROM `진행페이지` WHERE EMAIL = '[email protected]' 으로 처리하면 이어 쓰기 등이 가능합니다.
출력 부분에서는 지원자가 전체 지원을 했다 그러면 (마지막이 3라는 관점으로)
SELECT A.NAME,B.*,C.*D.*
FROM `진행페이지` A
LEFT JOIN `page1` B ON A.EMAIL = B.EMAIL
LEFT JOIN `page2` C ON A.EMAIL = C.EMAIL
LEFT JOIN `page3` D ON A.EMAIL = D.EMAIL
등으로 출력을 할 수 있습니다.
A, B, C, D 는 해당 테이블로 조인을 하기 유용하게 위해 정의한 명칭입니다.
음.. 생각하신대로 회원가입이나 게시판 구조를 활용하여 만드시면 될것 같습니다.
정확히 어떤 부분이 막히시는진 모르겠지만, 중간저장 기능은 동일한 DB테이블 하나 생성 후 parent idx 컬럼 하나 더 생성하신다음에 링크 걸어주시면 될것 같네요.
수정이나 지원조회는 게시판 구조로 가면 쉽게 만드실수 있을것 같습니다.
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.
앞에 각 페이지별로 테이블을 만드는것까지는 이해를 했습니다.
지원조회는 진행페이지 별로 체크하시면 되구요.
ex) SELECT * FROM `지원정보` WHERE `진행페이지` = 'page4'
지원 정보를 다 가져오고 싶으면 LEFT JOIN 걸면 되겠죠?
`지원정보` A
LEFT JOIN `page1` B ON A.EMAIL = B.EMAIL
LEFT JOIN `page2` B ON A.EMAIL = B.EMAIL
LEFT JOIN `page3` B ON A.EMAIL = B.EMAIL
이부분이 ㅜ 이해가 가지않는데 지원조회는 1페이지에 처음 이메일과 패스워드를 입력하는페이지 잖아요~
그러면 위에 설명해주신대로는
ex) SELECT * FROM `지원정보` WHERE `진행페이지` = 'page4' 는
page4라는 조회결과를 뿌리는 페이지를 만들어서 가져오는건가요? ㅜㅜ
아래에
`지원정보` A
LEFT JOIN `page1` B ON A.EMAIL = B.EMAIL 는
A와 B는 무얼 뜻하느지 모르겠어요 ㅜㅜ