테스트 사이트 - 개발 중인 베타 버전입니다

매치 게시판 질문 드립니다. 채택완료

alexseo 8개월 전 조회 1,736

예를 들어

남자 20명, 여자 20명이 소개팅을 한다고 가정을 하겠습니다.

서로 호감이 가는 사람을 매칭하는 게시판을 만들여고 합니다.

어떻게 하면 좋을까요?

감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
8개월 전

아래의 예제 코드를 한번 참고를 해보세요.

 

1. 테이블 생성

CREATE TABLE g5_dating_likes (     id INT(11) NOT NULL AUTO_INCREMENT,     from_mb_id VARCHAR(20) NOT NULL,     to_mb_id VARCHAR(20) NOT NULL,     reg_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,     PRIMARY KEY (id),     UNIQUE KEY unique_like (from_mb_id, to_mb_id) );

 

2. 호감 표시 처리

 

 

// 로그인 체크 if (!$is_member) {     alert('로그인 후 이용해주세요.', G5_BBS_URL.'/login.php'); }

$to_mb_id = isset($_POST['to_mb_id']) ? trim($_POST['to_mb_id']) : '';

if (empty($to_mb_id)) {     alert('대상 회원이 지정되지 않았습니다.'); }

// 자기 자신에게는 호감 표시 불가 if ($to_mb_id == $member['mb_id']) {     alert('자기 자신에게는 호감을 표시할 수 없습니다.'); }

// 호감 정보 저장 $sql = " INSERT INTO g5_dating_likes             SET from_mb_id = '{$member['mb_id']}',                 to_mb_id = '{$to_mb_id}',                 reg_date = NOW()             ON DUPLICATE KEY UPDATE                 reg_date = NOW() "; sql_query($sql);

// 상호 호감 체크 $sql = " SELECT COUNT(*) as cnt FROM g5_dating_likes             WHERE from_mb_id = '{$to_mb_id}' AND to_mb_id = '{$member['mb_id']}' "; $row = sql_fetch($sql);

if ($row['cnt'] > 0) {     // 상호 호감이 확인된 경우     alert('매칭이 성사되었습니다!', G5_BBS_URL.'/dating_match.php'); } else {     // 단방향 호감만 표시된 경우     alert('호감을 표시했습니다.', G5_HTTP_BBS_URL.'/board.php?bo_table=dating_profiles'); } ?>

 

 

3. 매칭결과 페이지 예시

 

 

// 로그인 체크 if (!$is_member) {     alert('로그인 후 이용해주세요.', G5_BBS_URL.'/login.php'); }

// 상호 호감 회원 목록 가져오기 $sql = " SELECT B.mb_id, B.mb_nick, B.mb_name, B.mb_email             FROM g5_dating_likes A             JOIN g5_dating_likes B ON A.from_mb_id = B.to_mb_id AND A.to_mb_id = B.from_mb_id             JOIN g5_member C ON B.from_mb_id = C.mb_id             WHERE A.from_mb_id = '{$member['mb_id']}'             ORDER BY B.reg_date DESC "; $result = sql_query($sql);

$g5['title'] = '매칭 결과'; include_once(G5_PATH.'/head.php'); ?>

   

매칭 결과

         0) { ?>        
           

상호 호감이 확인된 회원

           
                               
  •                    
                                                    쪽지 보내기                    
                   
  •                        
       
           

아직 매칭된 회원이 없습니다.

   

 

 

 

 

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

a
8개월 전

답변 감사합니다.

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

s
sinbi Expert
8개월 전

기획을 더 구체적으로 해보세요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인