관리자페이지 포인트 지급시 아이디 자동완성 > 그누보드5 팁자료실

그누보드5 팁자료실

관리자페이지 포인트 지급시 아이디 자동완성 정보

관리자페이지 포인트 지급시 아이디 자동완성

본문

그누보드의 관리자 화면에서 포인트를 관리하는 페이지가 있습니다.

해당 부분에서 특정 회원에서 포인트를 지급 할 경우 아이디가 기억나지 않거나 할 때에

회원아이디 자동완성 기능을 추가해서 사용할 수 있습니다.

 

1994132643_1547129050.0226.jpg

 

1994132643_1547129151.5256.jpg

 

위와 같이 k만 회원아이디에 넣더라도 자동완성 기능으로 모든 회원을 검색할 수 있습니다.

 

우선 adm/point_list.php 파일에 다음과 같은 코드를 추가합니다.


<link href="http://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel="stylesheet">
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
 
<script>
//회원아이디 자동완성
    $("#mb_id").autocomplete({                    
        minLength: 1,
        maxHeight: 200,
        autoFocus:true,                    
        source: function(request, response) {
            $.ajax({
                url: "<?php echo G5_BBS_URL?>/ajax.member_chk.php?term="+$("#mb_id").val(),
                type: "GET",
                dataType: "json",
                success: function(data) {
                    response($.map(data, function(item) {
                        return {
                            label: item.mb_id + " [" + item.label+ "]",
                            mb_id: item.mb_id,
                            member_name : item.label
                        };
                    }));
                }
            });                        
        },
        select: function(event, ui) {                            
            $("#mb_id").val(ui.item.mb_id);
            
            console.log("Member Id : " + ui.item.mb_id);
            console.log("Member Name : " + ui.item.member_name);
            
            return false;
        },
        open: function(event, ui) {
            $("#mb_id").css("z-index", 1000);
        },
        focus: function (event, ui) {
           event.preventDefault(); // Prevent the default focus behavior.
        }
    });
</script>

 

이후 bbs/ajax.member_chk.php 파일을 다음과 같이 생성합니다.


<?php
include_once('../common.php');

$search = trim(strip_tags($_GET['term']));
$sql = "select * from {$g5['member_table']} where mb_id like '$search%';";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
    $return_arr[] = array("mb_id" => $row['mb_id'], "label" => $row['mb_name']);
}
echo json_encode($return_arr);
?>

 

해당 자동완성 기능을 응용하여 여러가지(검색어 등)를 구현할 수 있으니

처음 구현해보시는 분들은 이리저리 수정해가며 사용해보시면 도움될 것 같습니다.

최대한 간단하게 만든다고 만들었는데 수정해야할 것이 있다면 말씀부탁드립니다.

 

추천
10

댓글 16개

다른분들은 잘되시나요? 반응이없던데....그대로 소스 넣었는대..
본문에 point_list.php 에서 ajax.member_chk.php 인걸 ajax_member_chk.php 파일을 _ 에서 . 으로 이름 변경해서 올렸는대도 반응이없고 반대로 . 에서 _ 으로해도 반응이없고..

5.3최신버전에서도 문제없이 잘 되는 것 확인 하고 업로드를 했는데
혹시라도 안되시면 script 부분이 너무 위에 있어서 그럴수 있으니
제일 아래쪽으로 넣어보셔요
이기능을 메인검색에 응용할려고 삽질하는데 안되네요 ㅠㅠ
검색에 적용하는 방법이나 팁을 가르쳐 주시면 감사하겟읍니다
신기한 팁 공유해주셔서 감사합니다. ^^

PS.
작동 않는 분은 아래 코드 수정

1.
php 단축코드 사용 적용 안 된 분 경우

수정 전 : <?echo
수정 후 : <?php echo

2.
https 적용한 뷴 경우

수정 전 : http
수정 후 : https
좋은 팁 감사합니다.
이 팁을 응용해서 쪽지보내기 아이디 입력창을 닉네임 입력하기로 적용했습니다.
물론 정리된 자료는 팁게시판에 등록하였으니 필요하신분 검색해서 이용하세요
전체 2,426 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT