포인트 조회에서 회원명으로 검색할려면 어떻게 해야 하나요? 채택완료
밀랍
3년 전
조회 1,526
포인트조회 point_list.php 에 보면
아이디 또는 내용으로만 조회가 가능하던데
닉네임 또는 이름으로 검색할려면 어떻게 해야 하나요?
</p>
<p>
$sql_common = " from {$g5['point_table']} ";</p>
<p>$sql_search = " where (1) ";</p>
<p>if ($stx) {
$sql_search .= " and ( ";
switch ($sfl) {
case 'mb_id' :
$sql_search .= " ({$sfl} = '{$stx}') ";
break;
default :
$sql_search .= " ({$sfl} like '%{$stx}%') ";
break;
}
$sql_search .= " ) ";
}</p>
<p>if (!$sst) {
$sst = "po_id";
$sod = "desc";
}
$sql_order = " order by {$sst} {$sod} ";</p>
<p>$sql = " select count(*) as cnt
{$sql_common}
{$sql_search}
{$sql_order} ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];</p>
<p>$rows = $config['cf_page_rows'];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page < 1) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함</p>
<p>$sql = " select *
{$sql_common}
{$sql_search}
{$sql_order}
limit {$from_record}, {$rows} ";
$result = sql_query($sql);</p>
<p>$listall = '<a href="'.$_SERVER['SCRIPT_NAME'].'" class="ov_listall">전체목록</a>';</p>
<p>$mb = array();
if ($sfl == 'mb_id' && $stx)
$mb = get_member($stx);</p>
<p>$g5['title'] = '선입금관리';
include_once ('./admin.head.php');
// include_once('./point_sub.php');
$colspan = 9;</p>
<p>$po_expire_term = '';
if($config['cf_point_term'] > 0) {
$po_expire_term = $config['cf_point_term'];
}</p>
<p>if (strstr($sfl, "mb_id"))
$mb_id = $stx;
else
$mb_id = "";</p>
<p>
</p>
<p><select name="sfl" id="sfl">
<option value="mb_name"<?php echo get_selected($sfl, "mb_name"); ?>>회원명</option>
<option value="mb_id"<?php echo get_selected($sfl, "mb_id"); ?>>회원아이디</option>
<option value="po_content"<?php echo get_selected($sfl, "po_content"); ?>>내용</option>
</select></p>
<p>
어떻게 수정해야 회원이름으로 검색할 수 있는지 궁금합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변 3개
채택된 답변
+20 포인트
3년 전
</p>
<p>if ($stx) {
$sql_search .= " and ( ";
switch ($sfl) {
case 'mb_id' :
$sql_search .= " ({$sfl} = '{$stx}') ";
break;
case 'mb_name' :
$sql_search .= " mb_id in (select mb_id from {$g5['member_table']} where mb_name like '%{$stx}%') ";
break;
default :
$sql_search .= " ({$sfl} like '%{$stx}%') ";
break;
}
$sql_search .= " ) ";
}</p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
밀랍
3년 전
답변감사합니다.
댓글을 작성하려면 로그인이 필요합니다.
3년 전
포인트 테이블엔 이름이나 닉네임 필드가 없으므로,
g5_member 테이블을 조인걸어주셔야 합니다.
point_list.php 수정
</p>
<p><?php</p>
<p>$sub_menu = "200200";</p>
<p>include_once('./_common.php');</p>
<p> </p>
<p>auth_check_menu($auth, $sub_menu, 'r');</p>
<p> </p>
<p>$sql_common = " from {$g5['point_table']} a left join {$g5['member_table']} b</p>
<p> </p>
<p>on (a.mb_id=b.mb_id) ";</p>
<p> </p>
<p>$sql_search = " where (1) ";</p>
<p> </p>
<p>if ($stx) {</p>
<p> $sql_search .= " and ( ";</p>
<p> switch ($sfl) {</p>
<p> case 'a.mb_id' :</p>
<p> $sql_search .= " ({$sfl} = '{$stx}') ";</p>
<p> break;</p>
<p> default :</p>
<p> $sql_search .= " ({$sfl} like '%{$stx}%') ";</p>
<p> break;</p>
<p> }</p>
<p> $sql_search .= " ) ";</p>
<p>}</p>
<p> </p>
<p>if (!$sst) {</p>
<p> $sst = "a.po_id";</p>
<p> $sod = "desc";</p>
<p>}</p>
<p>$sql_order = " order by {$sst} {$sod} ";</p>
<p>
</p>
<p>$sql = " select count(*) as cnt</p>
<p> {$sql_common}</p>
<p> {$sql_search}</p>
<p> {$sql_order} ";</p>
<p>$row = sql_fetch($sql);</p>
<p>$total_count = $row['cnt'];</p>
<p> </p>
<p>$rows = $config['cf_page_rows'];</p>
<p>$total_page = ceil($total_count / $rows); // 전체 페이지 계산</p>
<p>if ($page < 1) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)</p>
<p>$from_record = ($page - 1) * $rows; // 시작 열을 구함</p>
<p> </p>
<p>$sql = " select *</p>
<p> {$sql_common}</p>
<p> {$sql_search}</p>
<p> {$sql_order}</p>
<p> limit {$from_record}, {$rows} ";</p>
<p> </p>
<p> echo $sql;</p>
<p>$result = sql_query($sql);</p>
<p> </p>
<p>$listall = '<a href="'.$_SERVER['SCRIPT_NAME'].'" class="ov_listall">전체목록</a>';</p>
<p> </p>
<p>$mb = array();</p>
<p>if ($sfl == 'mb_id' && $stx)</p>
<p> $mb = get_member($stx);</p>
<p> </p>
<p>$g5['title'] = '포인트관리';</p>
<p>include_once ('./admin.head.php');</p>
<p> </p>
<p>$colspan = 9;</p>
<p> </p>
<p>$po_expire_term = '';</p>
<p>if($config['cf_point_term'] > 0) {</p>
<p> $po_expire_term = $config['cf_point_term'];</p>
<p>}</p>
<p> </p>
<p>if (strstr($sfl, "mb_id"))</p>
<p> $mb_id = $stx;</p>
<p>else</p>
<p> $mb_id = "";</p>
<p>?></p>
<p> </p>
<p><div class="local_ov01 local_ov"></p>
<p> <?php echo $listall ?></p>
<p> <span class="btn_ov01"><span class="ov_txt">전체 </span><span class="ov_num"> <?php echo number_format($total_count) ?> 건 </span></span></p>
<p> <?php</p>
<p> if (isset($mb['mb_id']) && $mb['mb_id']) {</p>
<p> echo ' <span class="btn_ov01"><span class="ov_txt">' . $mb['mb_id'] .' 님 포인트 합계 </span><span class="ov_num"> ' . number_format($mb['mb_point']) . '점</span></span>';</p>
<p> } else {</p>
<p> $row2 = sql_fetch(" select sum(po_point) as sum_point from {$g5['point_table']} ");</p>
<p> echo ' <span class="btn_ov01"><span class="ov_txt">전체 합계</span><span class="ov_num">'.number_format($row2['sum_point']).'점 </span></span>';</p>
<p> }</p>
<p> ?></p>
<p></div></p>
<p> </p>
<p><form name="fsearch" id="fsearch" class="local_sch01 local_sch" method="get"></p>
<p><label for="sfl" class="sound_only">검색대상</label></p>
<p><select name="sfl" id="sfl"></p>
<p> <option value="b.mb_name"<?php echo get_selected($sfl, "b.mb_name"); ?>>회원명</option></p>
<p> <option value="b.mb_nick"<?php echo get_selected($sfl, "b.mb_nick"); ?>>닉네임</option></p>
<p> <option value="a.mb_id"<?php echo get_selected($sfl, "a.mb_id"); ?>>회원아이디</option></p>
<p> <option value="a.po_content"<?php echo get_selected($sfl, "a.po_content"); ?>>내용</option></p>
<p></select></p>
<p><label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label></p>
<p><input type="text" name="stx" value="<?php echo $stx ?>" id="stx" required class="required frm_input"></p>
<p><input type="submit" class="btn_submit" value="검색"></p>
<p></form></p>
<p> </p>
<p><form name="fpointlist" id="fpointlist" method="post" action="./point_list_delete.php" onsubmit="return fpointlist_submit(this);"></p>
<p><input type="hidden" name="sst" value="<?php echo $sst ?>"></p>
<p><input type="hidden" name="sod" value="<?php echo $sod ?>"></p>
<p><input type="hidden" name="sfl" value="<?php echo $sfl ?>"></p>
<p><input type="hidden" name="stx" value="<?php echo $stx ?>"></p>
<p><input type="hidden" name="page" value="<?php echo $page ?>"></p>
<p><input type="hidden" name="token" value=""></p>
<p> </p>
<p><div class="tbl_head01 tbl_wrap"></p>
<p> <table></p>
<p> <caption><?php echo $g5['title']; ?> 목록</caption></p>
<p> <thead></p>
<p> <tr></p>
<p> <th scope="col"></p>
<p> <label for="chkall" class="sound_only">포인트 내역 전체</label></p>
<p> <input type="checkbox" name="chkall" value="1" id="chkall" onclick="check_all(this.form)"></p>
<p> </th></p>
<p> <th scope="col"><?php echo subject_sort_link('mb_id') ?>회원아이디</a></th></p>
<p> <th scope="col">이름</th></p>
<p> <th scope="col">닉네임</th></p>
<p> <th scope="col"><?php echo subject_sort_link('po_content') ?>포인트 내용</a></th></p>
<p> <th scope="col"><?php echo subject_sort_link('po_point') ?>포인트</a></th></p>
<p> <th scope="col"><?php echo subject_sort_link('po_datetime') ?>일시</a></th></p>
<p> <th scope="col">만료일</th></p>
<p> <th scope="col">포인트합</th></p>
<p> </tr></p>
<p> </thead></p>
<p> <tbody></p>
<p> <?php</p>
<p> for ($i=0; $row=sql_fetch_array($result); $i++) {</p>
<p> if ($i==0 || ($row2['mb_id'] != $row['mb_id'])) {</p>
<p> $sql2 = " select mb_id, mb_name, mb_nick, mb_email, mb_homepage, mb_point from {$g5['member_table']} where mb_id = '{$row['mb_id']}' ";</p>
<p> $row2 = sql_fetch($sql2);</p>
<p> }</p>
<p> </p>
<p> $mb_nick = get_sideview($row['mb_id'], $row2['mb_nick'], $row2['mb_email'], $row2['mb_homepage']);</p>
<p> </p>
<p> $link1 = $link2 = '';</p>
<p> if (!preg_match("/^\@/", $row['po_rel_table']) && $row['po_rel_table']) {</p>
<p> $link1 = '<a href="'.get_pretty_url($row['po_rel_table'], $row['po_rel_id']).'" target="_blank">';</p>
<p> $link2 = '</a>';</p>
<p> }</p>
<p> </p>
<p> $expr = '';</p>
<p> if($row['po_expired'] == 1)</p>
<p> $expr = ' txt_expired';</p>
<p> </p>
<p> $bg = 'bg'.($i%2);</p>
<p> ?></p>
<p> </p>
<p> <tr class="<?php echo $bg; ?>"></p>
<p> <td class="td_chk"></p>
<p> <input type="hidden" name="mb_id[<?php echo $i ?>]" value="<?php echo $row['mb_id'] ?>" id="mb_id_<?php echo $i ?>"></p>
<p> <input type="hidden" name="po_id[<?php echo $i ?>]" value="<?php echo $row['po_id'] ?>" id="po_id_<?php echo $i ?>"></p>
<p> <label for="chk_<?php echo $i; ?>" class="sound_only"><?php echo $row['po_content'] ?> 내역</label></p>
<p> <input type="checkbox" name="chk[]" value="<?php echo $i ?>" id="chk_<?php echo $i ?>"></p>
<p> </td></p>
<p> <td class="td_left"><a href="?sfl=mb_id&stx=<?php echo $row['mb_id'] ?>"><?php echo $row['mb_id'] ?></a></td></p>
<p> <td class="td_left"><?php echo get_text($row2['mb_name']); ?></td></p>
<p> <td class="td_left sv_use"><div><?php echo $mb_nick ?></div></td></p>
<p> <td class="td_left"><?php echo $link1 ?><?php echo $row['po_content'] ?><?php echo $link2 ?></td></p>
<p> <td class="td_num td_pt"><?php echo number_format($row['po_point']) ?></td></p>
<p> <td class="td_datetime"><?php echo $row['po_datetime'] ?></td></p>
<p> <td class="td_datetime2<?php echo $expr; ?>"></p>
<p> <?php if ($row['po_expired'] == 1) { ?></p>
<p> 만료<?php echo substr(str_replace('-', '', $row['po_expire_date']), 2); ?></p>
<p> <?php } else echo $row['po_expire_date'] == '9999-12-31' ? ' ' : $row['po_expire_date']; ?></p>
<p> </td></p>
<p> <td class="td_num td_pt"><?php echo number_format($row['po_mb_point']) ?></td></p>
<p> </tr></p>
<p> </p>
<p> <?php</p>
<p> }</p>
<p> </p>
<p> if ($i == 0)</p>
<p> echo '<tr><td colspan="'.$colspan.'" class="empty_table">자료가 없습니다.</td></tr>';</p>
<p> ?></p>
<p> </tbody></p>
<p> </table></p>
<p></div></p>
<p> </p>
<p><div class="btn_fixed_top"></p>
<p> <input type="submit" name="act_button" value="선택삭제" onclick="document.pressed=this.value" class="btn btn_02"></p>
<p></div></p>
<p> </p>
<p></form></p>
<p> </p>
<p><?php echo get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, "{$_SERVER['SCRIPT_NAME']}?$qstr&page="); ?></p>
<p> </p>
<p><section id="point_mng"></p>
<p> <h2 class="h2_frm">개별회원 포인트 증감 설정</h2></p>
<p> </p>
<p> <form name="fpointlist2" method="post" id="fpointlist2" action="./point_update.php" autocomplete="off"></p>
<p> <input type="hidden" name="sfl" value="<?php echo $sfl ?>"></p>
<p> <input type="hidden" name="stx" value="<?php echo $stx ?>"></p>
<p> <input type="hidden" name="sst" value="<?php echo $sst ?>"></p>
<p> <input type="hidden" name="sod" value="<?php echo $sod ?>"></p>
<p> <input type="hidden" name="page" value="<?php echo $page ?>"></p>
<p> <input type="hidden" name="token" value="<?php echo isset($token) ? $token : ''; ?>"></p>
<p> </p>
<p> <div class="tbl_frm01 tbl_wrap"></p>
<p> <table></p>
<p> <colgroup></p>
<p> <col class="grid_4"></p>
<p> <col></p>
<p> </colgroup></p>
<p> <tbody></p>
<p> <tr></p>
<p> <th scope="row"><label for="mb_id">회원아이디<strong class="sound_only">필수</strong></label></th></p>
<p> <td><input type="text" name="mb_id" value="<?php echo $mb_id ?>" id="mb_id" class="required frm_input" required></td></p>
<p> </tr></p>
<p> <tr></p>
<p> <th scope="row"><label for="po_content">포인트 내용<strong class="sound_only">필수</strong></label></th></p>
<p> <td><input type="text" name="po_content" id="po_content" required class="required frm_input" size="80"></td></p>
<p> </tr></p>
<p> <tr></p>
<p> <th scope="row"><label for="po_point">포인트<strong class="sound_only">필수</strong></label></th></p>
<p> <td><input type="text" name="po_point" id="po_point" required class="required frm_input"></td></p>
<p> </tr></p>
<p> <?php if($config['cf_point_term'] > 0) { ?></p>
<p> <tr></p>
<p> <th scope="row"><label for="po_expire_term">포인트 유효기간</label></th></p>
<p> <td><input type="text" name="po_expire_term" value="<?php echo $po_expire_term; ?>" id="po_expire_term" class="frm_input" size="5"> 일</td></p>
<p> </tr></p>
<p> <?php } ?></p>
<p> </tbody></p>
<p> </table></p>
<p> </div></p>
<p> </p>
<p> <div class="btn_confirm01 btn_confirm"></p>
<p> <input type="submit" value="확인" class="btn_submit btn"></p>
<p> </div></p>
<p> </p>
<p> </form></p>
<p> </p>
<p></section></p>
<p> </p>
<p><script></p>
<p>function fpointlist_submit(f)</p>
<p>{</p>
<p> if (!is_checked("chk[]")) {</p>
<p> alert(document.pressed+" 하실 항목을 하나 이상 선택하세요.");</p>
<p> return false;</p>
<p> }</p>
<p> </p>
<p> if(document.pressed == "선택삭제") {</p>
<p> if(!confirm("선택한 자료를 정말 삭제하시겠습니까?")) {</p>
<p> return false;</p>
<p> }</p>
<p> }</p>
<p> </p>
<p> return true;</p>
<p>}</p>
<p></script></p>
<p> </p>
<p><?php</p>
<p>include_once ('./admin.tail.php');</p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
밀랍
3년 전
답변 감사합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인