Q&A

회원 목록을 불러오는 코딩을 하려고 합니다.

2025.04.07 17:24
37
0
CMS/프레임워크 Rhymix 2.1
개발 언어 PHP 7.3

 

{@

    // 데이터베이스 인스턴스 가져오기

    $oDB = &DB::getInstance();

   

    // group_srl이 479인 회원 정보 가져오기

    $query = $oDB->_query('select xe_member.* from xe_member inner join xe_member_group_member on xe_member.member_srl = xe_member_group_member.member_srl where xe_member_group_member.group_srl = 479');

    $members = $oDB->_fetch($query);

   

    // 그룹 정보 가져오기

    $oMemberModel = getModel('member');

    $group_info = $oMemberModel->getGroup(479);

 }

 

 <!--@if($logged_info->is_admin=='Y')-->

 <div class="member-list-container">

     <h3>{$group_info->title} 그룹 회원 목록</h3>

     

     <!--@if($members && count($members) > 0)-->

     <p>총 <strong>{count($members)}</strong>명의 회원이 있습니다.</p>

     <table class="member-list">

         <thead>

             <tr>

                 <th>번호</th>

                 <th>아이디</th>

                 <th>이름</th>

                 <th>닉네임</th>

                 <th>이메일</th>

                 <th>가입일</th>

             </tr>

         </thead>

         <tbody>

             <!--@foreach($members as $no => $member)-->

             <tr>

                 <td>{$no+1}</td>

                 <td>{$member->user_id}</td>

                 <td>{$member->user_name}</td>

                 <td>{$member->nick_name}</td>

                 <td>{$member->email_address}</td>

                 <td>{zdate($member->regdate, "Y-m-d H:i")}</td>

             </tr>

             <!--@end-->

         </tbody>

     </table>

     <!--@else-->

     <p>그룹에 속한 회원이 없습니다.</p>

     <!--@end-->

 </div>

 <!--@else-->

 <p>관리자만 접근 가능합니다.</p>

 <!--@end-->

 

 

ai에게 물어봐서 특정 그룹(479)의 목록을 리스팅하는 것은 성공했습니다.

여기 상단에 검색창으로 넣고 이름 / 닉네임 / 이메일 중에 하나 일치하는 값이 있으면 출력하도록 하고 싶은데

ai를 2시간 괴롭히고 있는데 템플릿 문법과 계속 충돌이 나면서 해결이 되지 않고 있어요.

 

쉽게 할 수 있는 방법 없을까요?

스코스코 Lv. 5

댓글 4

  • 14시간 전 #1905927

    {@

        // 데이터베이스 인스턴스 가져오기

        $oDB = &DB::getInstance();

       

        // 검색 파라미터 가져오기

        $search_keyword = Context::get('search_keyword');

       

        // 초기 로드인지 검색인지 구분

        $is_search = $search_keyword !== null; // 파라미터가 존재하면 검색 시도로 간주

       

        // 쿼리 생성

        $query_str = 'select xe_member.*

                  from xe_member

                  inner join xe_member_group_member

                  on xe_member.member_srl = xe_member_group_member.member_srl

                  where xe_member_group_member.group_srl = 479';

     

        // 검색어가 있으면 조건 추가

        if($search_keyword && trim($search_keyword) !== ''):

            $query_str .= " AND xe_member.user_name LIKE '%" . $search_keyword . "%'";

        endif;

       

        // 쿼리 실행

        $query = $oDB->_query($query_str);

        $members = array();

       

        // 결과를 배열로 가져오기

        while($row = $oDB->_fetch($query)):

            $members[] = $row;

        endwhile;

       

        // 결과 디버깅

        $member_count = count($members);

        $first_member_srl = '';

        $first_member_userid = '';

        $first_member_name = '';

       

        // 첫 번째 회원 정보 추출

        if($member_count > 0):

            $first_member = $members[0];

            $first_member_srl = $first_member->member_srl;

            $first_member_userid = $first_member->user_id;

            $first_member_name = $first_member->user_name;

        endif;

       

        // 그룹 정보 가져오기

        $oMemberModel = getModel('member');

        $group_info = $oMemberModel->getGroup(3416);

    }

     

    <div class="space_top"></div>

    <div class="responsive_card">

    <!-- 디버깅 정보 -->

    <div style="background-color: #f8f9fa; border: 1px solid #ddd; padding: 10px; margin-bottom: 15px;">

        <h4>디버깅 정보</h4>

        <p>검색 요청: {$is_search ? '예' : '아니오'}</p>

        <p>검색어: {$search_keyword ? $search_keyword : '없음'}</p>

        <p>검색된 회원 수: {$member_count}</p>

        <!--@if($member_count > 0)-->

        <p>첫 번째 회원 번호: {$first_member_srl}</p>

        <p>첫 번째 회원 ID: {$first_member_userid}</p>

        <p>첫 번째 회원 이름: {$first_member_name}</p>

        <!--@end-->

    </div>

     

    <!--@if($logged_info->is_admin=='Y')-->

    <div class="member-list-container">

        <h3>{$group_info->title} 그룹 회원 목록</h3>

       

        <!-- 검색 폼 추가 -->

        <div class="search-form" style="margin-bottom: 15px;">

            <form action="{getUrl()}" method="get">

                <input type="hidden" name="mid" value="{$mid}" />

                <input type="hidden" name="act" value="{$act}" />

               

                <input type="text" name="search_keyword" value="{$search_keyword}" placeholder="이름으로 검색" style="width: 200px; padding: 5px;" />

                <button type="submit" style="padding: 5px 10px; background-color: #4a89dc; color: white; border: none; cursor: pointer;">검색</button>

                <!--@if($search_keyword)-->

                <a href="{getUrl('search_keyword', '')}" style="margin-left: 5px; padding: 5px 10px; background-color: #ddd; color: #333; text-decoration: none;">초기화</a>

                <!--@end-->

            </form>

        </div>

       

        <!--@if($member_count > 0)-->

        <p>총 <strong>{$member_count}</strong>명의 회원이 있습니다.</p>

        <table class="member-list">

            <thead>

                <tr>

                    <th>번호</th>

                    <th>아이디</th>

                    <th>이름</th>

                    <th>닉네임</th>

                    <th>이메일</th>

                    <th>가입일</th>

                </tr>

            </thead>

            <tbody>

                <!--@foreach($members as $no => $member)-->

                <tr>

                    <td>{$no+1}</td>

                    <td>{$member->user_id}</td>

                    <td>{$member->user_name}</td>

                    <td>{$member->nick_name}</td>

                    <td>{$member->email_address}</td>

                    <td>{zdate($member->regdate, "Y-m-d H:i")}</td>

                </tr>

                <!--@end-->

            </tbody>

        </table>

        <!--@else-->

        <p>그룹에 속한 회원이 없거나 검색 결과가 없습니다.</p>

        <!--@end-->

    </div>

    <!--@else-->

    <p>관리자만 접근 가능합니다.</p>

    <!--@end-->

    </div>

    이렇게 해봤는데, (ai가 시켜서)
    이렇게 하니까 검색값은 잘 나오는데 검색값이 없을때 전체 목록이 나오질 않네요 ㅠ.ㅠ

  • 13시간 전 #1905935

    AI가 SQL 인젝션을 시키는군요. ㄷㄷㄷ

  • 13시간 전 #1905939

    그것이 무엇이옵니까. 제미나이 chatgpt 클로드 돌아가면서 갈구고 있는데 ai가 라이믹스 템플릿 문법을 너무 모르옵니다 ㅠㅠ 도와주시옵소서

  • 10시간 전 #1905957

    검색했을 때 잘 나온다면 일단 기본적인 쿼리와 루프문, html 출력하는 부분은 작동한다는 뜻인데

    검색하지 않았을 때 안 나온다...

    이건 그냥 회원이 너무 많아서 그럴 수도 있습니다.

    해당 그룹(479)에 소속된 회원 수가 대충 몇 명쯤 되나요?