안녕하세요 : )
안드로이드 GCM 을 이용해서 1:1 채팅을 만들고 있습니다.
운영자와 다수의 유저들이 각각 운영자와 1:1 채팅을 하는 방식인데,
운영자가 사용하는 앱에서는 채팅방 목록을 보여주도록 설정하였습니다.
마치 카카오톡 '채팅'탭이랑 같다고 생각하시면 될것같아요.
다른건 다괜찮은데 카카오톡 채팅탭처럼 가장 최근에 톡한 사람 순으로 정렬을 하고 싶은데
코드를 어떻게 짜야할지 감이 안잡히네요 ㅠ
현재 php 랑 mysql 사용해서 데이터 저장하고 있고, 제가 채팅탭 구성한 방식은
처음 채팅하기위해 필요한 아이디를 먼저 작성한 순으로 리스트가 정렬됩니다;
저는 최신 채팅 작성 시간 순으로 하고 싶은데 php코드를 어떤 방향으로 짜야하나요?ㅠㅠ
대충 개념으로만이라도 설명해주시면 감사하겠습니다..;
어떤 방식으로 해야할지 도무지 감이 안잡혀요 ㅠㅠ
+) 제가 서버 소켓 사용하는법을 도저히 모르겠어서 GCM 으로 한건데 GCM을 이용한 채팅, 단점이 있을까요?
현재 채팅목록에서 사용하고 있는 php 코드입니다
$res = mysqli_query($regsqli,"select who from chat_who where who NOT LIKE '운영자' ");
//운영자 빼고 등록된 채팅 아이디 전부 가져오기(chat_who)
while($result = mysqli_fetch_array($res)){
$res2 = mysqli_query($regsqli,"select name from chat where name LIKE '$result[0]' ORDER by name DESC ") ; //
$result2 = mysqli_fetch_array($res2); // 운영자를 제외한 상대방 저장
$res3 = mysqli_query($regsqli,"select name from chat where name LIKE '$result[0]' OR who LIKE '$result[0]' ORDER by time DESC ") ; //
$result3 = mysqli_fetch_array($res3); // 1:1 채팅에서 누가 마지막으로 채팅했는지
$res4 = mysqli_query($regsqli,"select content from chat where name LIKE '$result[0]' OR who LIKE '$result[0]' ORDER by time DESC ") ; // 그 사람의 최근 대화 or 시간 , content순이면 숫자,글자순으로 정렬된다. 따라서 시간순으로 정렬
$result4 = mysqli_fetch_array($res4); // res4 은 1:1에서 마지막으로 대화한 사람 내용 저장 (유저 or 운영자)
$res5 = mysqli_query($regsqli,"select time from chat where name LIKE '$result[0]' OR who LIKE '$result[0]' ORDER by time DESC ") ;
$result5 = mysqli_fetch_array($res5); //1:1에서 마지막 채팅 작성 시간 저장
array_push($Re,
array('name'=>$result2[0] , 'last_who'=>$result3[0], 'last_content'=>$result4[0] ,'last_time'=>$result5[0]
));
}
echo json_encode(array("little_known"=>$Re));