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

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

· 6년 전 · 6293 · 16

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

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

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

 

1994132643_1547129050.0226.jpg

 

1994132643_1547129151.5256.jpg

 

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

 

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

[code]

<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>

[/code]

 

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

[code]

<?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);
?>

[/code]

 

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

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

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

 

댓글 작성

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

로그인하기

댓글 16개

와..감사합니다 적용해봐야겠습니다
혹시 닉네임을 입력시에도 뜨는건가요?
6년 전
이기능을 메인검색에 응용할려고 삽질하는데 안되네요 ㅠㅠ
검색에 적용하는 방법이나 팁을 가르쳐 주시면 감사하겟읍니다
신기한 팁 공유해주셔서 감사합니다. ^^

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

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

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

2.
https 적용한 뷴 경우

수정 전 : http
수정 후 : https
6년 전
하라는대로 했는데 안나옵니다...
좋은 팁 감사합니다.
이 팁을 응용해서 쪽지보내기 아이디 입력창을 닉네임 입력하기로 적용했습니다.
물론 정리된 자료는 팁게시판에 등록하였으니 필요하신분 검색해서 이용하세요

게시글 목록

번호 제목
23966
23963
23953
23949
23938
23935
23933
23928
23919
23918
23917
23910
23902
23901
23897
23894
23893
23891
23885
23872
23870
23862
23859
23853
23845
23838
23827
23819
23805
23801