- 3
- 아포리아
- 조회 수 105
첨부 1
- get_friends_followed_by_me.html (File Size: 1.2KB/Download: 109)
dispCommunicationFriend => 현황
[탭] 나의 팔로우(friend_menu=), 나를 팔로우(friend_menu=followed), 친구 그룹 관리(friend_menu=group)
[설정] 그룹별 보기 => 그룹 이름들(friend_group_srl=)
: 내가 팔로우하는 친구들
-> 리스트
-> 없으면 친구를 등록해보세요! ... 친구 추천?
: 친구들의 최근 글
-> https://xetown.com/topics/1733476
=> 하위 메뉴(friend_menu)
: 내가 팔로우 친구(my_following) -> 목록 => 언팔, 그룹이동, 글모음
=> 없으면 무작위 친추 목록 (그 사람의 최신글들을 모아볼 수 있어욤)
: 나를 팔로우 친구(my_followed) -> 목록 => 프로필 보기, 맞팔 여부 확인, 친구 등록
=> 없으면 무작위 친추 목록 (그 사람한테 나의 친추가 인지될 거임)
: 친구 그룹 관리(friend_group) -> 목록(그룹별 친구 나열) => 변경, 삭제, 생성
=> 없으면 생성해보셈 (효율적으로 관리할 수 있음)
댓글 3
친구 랜덤 추천
$limit = 8; $oDB = DB::getInstance(); $query = 'SELECT max(member_srl) as max_member_srl FROM member'; $stmt = $oDB->prepare($query); $stmt->execute(); $result = $stmt->fetchAll(); $max_member_srl = $result[0]->max_member_srl; $random_member_srl = rand(4, $max_member_srl); debugPrint($random_member_srl); $query = 'SELECT * FROM ( (SELECT member_srl, nick_name FROM member WHERE member_srl >= ? AND denied = ? LIMIT ?) UNION ALL (SELECT member_srl, nick_name FROM member WHERE member_srl < ? AND denied = ? LIMIT ?) ) AS random_members WHERE random_members.member_srl NOT IN (SELECT target_srl FROM member_friend WHERE member_friend.member_srl = ?) AND random_members.member_srl <> ? ORDER BY rand() LIMIT ?'; $stmt = $oDB->prepare($query); $stmt->execute([$random_member_srl, 'N', $limit, $random_member_srl, 'N', $limit, $logged_info->member_srl, $logged_info->member_srl, $limit]); $result = $stmt->fetchAll(); debugPrint($result);
0.0.4 업데이트 내용
- 쪽지 : 검색 기능 추가
- 쪽지 : 목록에 $no 출력
- 친구 : '나를 팔로우'에서 페이지네이션이 되지 않는 문제 수정
- 친구 : '나를 팔로우' 목록을 가져오는 보조 html 템플릿의 이름을 수정 (기존의 _get_friends_followed_by_me.html은 폐기하는 것을 권장)
1. 친구 등록시 잘못된 target_srl이 들어와도 등록이 되는 문제
- procCommunicationAddFriend 함수를 보면 몇 가지 검증 절차를 거치기는 하지만, 정작 존재하지 않는 회원번호가 target_srl로 전달됐을 때도 친구로 등록되고 member_friend 테이블에 데이터가 기록되는 문제가 있습니다.
아마도 addFriend.xml 쿼리에서 member 테이블과 조인하여 회원번호가 존재하는 경우에만 insert가 작동하도록 해야 할 것 같습니다.