그누위즈

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

· 2019-01-10 (목) 23:09:47 · 8923 · 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개

2019-01-10 (목) 23:45:39
멋진팁이네요~ 공개해 주셔서 감사합니다.
2019-01-11 (금) 10:50:36
멋진팁 감사합니다.
다른분들은 잘되시나요? 반응이없던데....그대로 소스 넣었는대..
본문에 point_list.php 에서 ajax.member_chk.php 인걸 ajax_member_chk.php 파일을 _ 에서 . 으로 이름 변경해서 올렸는대도 반응이없고 반대로 . 에서 _ 으로해도 반응이없고..
ajax.member_chk.php 파일로 생성하셔야 합니다. 오타가 있었네요 ㅠㅠ
감사합니다
2019-01-11 (금) 22:39:42
유용한 팁 입니다. 감사합니다.
2019-01-13 (일) 23:47:31
유용한 팁인데... 그누 5.3 기본버전에서도 저거 그대로 넣었는데 아무 반응이 없네요 ㅠ_ㅠ
[http://sir.kr/data/editor/1901/52996b4b54d121a3cca171bf452f0a62_1547430864_8715.png]
5.3최신버전에서도 문제없이 잘 되는 것 확인 하고 업로드를 했는데
혹시라도 안되시면 script 부분이 너무 위에 있어서 그럴수 있으니
제일 아래쪽으로 넣어보셔요
좋은 팁 감사합니다!!
유용한 팁 입니다. 감사합니다.
와..감사합니다 적용해봐야겠습니다
혹시 닉네임을 입력시에도 뜨는건가요?
이기능을 메인검색에 응용할려고 삽질하는데 안되네요 ㅠㅠ
검색에 적용하는 방법이나 팁을 가르쳐 주시면 감사하겟읍니다
신기한 팁 공유해주셔서 감사합니다. ^^

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

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

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

2.
https 적용한 뷴 경우

수정 전 : http
수정 후 : https
2019-08-01 (목) 15:09:05
하라는대로 했는데 안나옵니다...
좋은 팁 감사합니다.
이 팁을 응용해서 쪽지보내기 아이디 입력창을 닉네임 입력하기로 적용했습니다.
물론 정리된 자료는 팁게시판에 등록하였으니 필요하신분 검색해서 이용하세요
댓글을 작성하시려면 로그인이 필요합니다.

그누보드5 팁자료실

2,788건
+
제목 글쓴이 날짜 조회
19-02-07 조회 8,335
19-02-06 조회 7,864
19-02-02 조회 6,197
19-02-01 조회 5,946
19-01-31 조회 5,394
19-01-28 조회 1만
19-01-28 조회 6,429
19-01-27 조회 7,089
19-01-24 조회 6,595
19-01-22 조회 8,170
19-01-22 조회 7,378
19-01-21 조회 6,213
19-01-20 조회 7,687
19-01-18 조회 6,037
19-01-15 조회 1.1만
19-01-15 조회 1.4만
19-01-14 조회 9,651
19-01-14 조회 6,230
19-01-13 조회 7,499
19-01-10 조회 8,924
19-01-10 조회 7,279
19-01-08 조회 6,507
19-01-06 조회 6,979
19-01-06 조회 1만
18-12-31 조회 9,654
18-12-31 조회 7,812
18-12-28 조회 6,933
18-12-28 조회 9,969
18-12-26 조회 8,533
18-12-26 조회 5,735