회원명단 + 상세검색 [수정0829] > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

회원명단 + 상세검색 [수정0829] 정보

회원명단 + 상세검색 [수정0829]

본문

수정했습니다. (08/29)

//if ($Uid) { $sql_search .= " and (mb_id = '$Uid') "; }
if ($Uid) { $sql_search .= " and (mb_id like '%$Uid%') "; }

아이디 일부만으로 검색가능하게.

-----------------------------

최근 작업입니다. 원래는 검색조건이 더 많았는데 여분필드(mb_1...)를 이용하였던 관계로 여기선 생략하였습니다.
저도 이걸 만들면서 배운게 많았는데 소스를 잘 보시고 다각도로 응용하시기 바랍니다^^ (거의 다 원래 그누보드에 있는 소스들임)

아래 소스를 search_member.php란 이름으로 저장하여 웹에서 부르면 됩니다.

예 : http://홈페이지주소.com/search_member.php


<?
include_once("./_common.php");

$g4[title] = "";

//if (!$member[mb_id]) { alert("로그인해야 사용가능합니다."); }
//else { // 로그인후 사용가능

include_once("./_head.php");

$sql_common = " from $g4[member_table] ";

$qstr = "";
if (isset($Usex))  $qstr .= '&Usex=' . urlencode($Usex);
if (isset($UageF))  $qstr .= '&UageF=' . urlencode($UageF);
if (isset($UageT))  $qstr .= '&UageT=' . urlencode($UageT);
if (isset($Uid))  $qstr .= '&Uid=' . urlencode($Uid);
if (isset($UregF))  $qstr .= '&UregF=' . urlencode($UregF);
if (isset($UregT))  $qstr .= '&UregT=' . urlencode($UregT);

$sql_search = " where (1) ";

if ($Usex) { $sql_search .= " and (mb_sex = '$Usex') "; }
if ($UageF) { $sql_search .= " and (mb_birth <= '$UageF') "; }
if ($UageT) { $sql_search .= " and (mb_birth >= '$UageT') "; }
//if ($Uid) { $sql_search .= " and (mb_id = '$Uid') "; }
if ($Uid) { $sql_search .= " and (mb_id like '%$Uid%') "; }
if ($UregF) { $sql_search .= " and (mb_datetime >= '$UregF') "; }
if ($UregT) { $sql_search .= " and (mb_datetime <= '$UregT') "; }

if (!$sst) {
    $sst = "mb_datetime";
    $sod = "desc";
}

$sql_order = " and mb_level != '10' order by $sst $sod ";
$sql = " select count(*) as cnt
         $sql_common
         $sql_search
         $sql_order ";
$row = sql_fetch($sql);
$total_count = $row[cnt];

//$rows = $config[cf_page_rows];
$rows = "15";
$total_page  = ceil($total_count / $rows);  // 전체 페이지 계산
if (!$page) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함

$listall = "<a href='$_SERVER[PHP_SELF]' class=tt>처음</a>";

$sql = " select *
          $sql_common
          $sql_search
          $sql_order
          limit $from_record, $rows ";
$result = sql_query($sql);
?>

<style type="text/css">
<!--
.padd5      { padding:5px; }
.Cgreen     { color:#88aa88; }
.Cred       { color:#aa8888; }
.Cwhite     { color:#ffffff; }
.line       { background:#FBBA42; height:1px; }
.line0      { height:5px; }
.inputO     { background:#eeeccc; border: solid #DC9003 1px; }
.inputOr    { background:#eeeccc; border: solid #DC9003 1px; text-align:right;padding:0 5 0 0; }
.inputW     { background:#ffffcc; border: solid #DC9003 1px; }
.td_pdL     { padding:5 5 5 0; }
.dotO       { font-size:10pt;color:#DC9003; }
.small5      { font-size:8pt;font-family:돋움;color:#555555; }
-->
</style>

<div style='border:dashed #999999;border-width:0 0 1 0;padding:5px;margin:0 0 10 0;'>
▶<a href='<?=$g4[path]?>/search_member.php' style='color:#333333;'><b>회원검색
</b></a>
</div>

<form name="frmMemSearch" action="<?=$g4[path]?>/search_member.php" method="get" style='margin:0px;'>
<div style='margin:10 0 10 0;background:#cccaaa;padding:0 0 0 0;'>
<table cellpadding=0 cellspacing=0 align=center width=630>
<tr>

<td class='td_pdL' colspan=2><span class='dotO'>●</span> <b>아이디
<input type=text size=10 class=inputO name='Uid' value='<?=$Uid?>'>

<td class='td_pdL'><span class='dotO'>●</span> <b>성별</b>
<select name='Usex'>
<option value=''>선택
<option value='M' <? if ($Usex == 'M') { echo "selected"; } ?>>남자
<option value='F' <? if ($Usex == 'F') { echo "selected"; } ?>>여자
</select>

<td class='td_pdL'><span class='dotO'>●</span> <b>나이</b>
<select name='UageF'>
<option value=''>선택
<?
$thisY = date("Y"); //올해
for ($a=0; $a<23; $a++) {
$b=($a * 2)+18; //18세 부터 2살씩 증가
$birthY = $thisY - $b + 1 ;
if ($UageF == $birthY."1231")  { $selectedUageF[$a] = "selected"; } else { $selectedUageF[$a] = ""; }
echo "<option value='{$birthY}1231' $selectedUageF[$a]>$b";
} ?>
</select>
~
<select name='UageT'>
<option value=''>선택
<?
$thisY = date("Y"); //올해
for ($a=0; $a<23; $a++) {
$b=($a * 2)+18; //18세 부터 2살씩 증가
$birthY = $thisY - $b + 1 ;
if ($UageT == $birthY."0101")  { $selectedUageT[$a] = "selected"; } else { $selectedUageT[$a] = ""; }
echo "<option value='{$birthY}0101' $selectedUageT[$a]>$b";
} ?>
</select>
<tr><td colspan=6 height=1 bgcolor=#DC9003>
</table>

<table cellpadding=0 cellspacing=0 align=center width=630>
<tr>
<td class='td_pdL'><span class='dotO'>●</span> <b>가입일</b>
<input class='field' type=text name='UregF' size=8    value='<?=$UregF?>' readonly>
<a href="javascript:win_calendar('UregF', document.getElementById('UregF').value, '');">
<img src='<?=$g4[path]?>/img/calendar.gif' border=0 align=absmiddle title='달력 - 날짜를 선택하세요'></a>
~
<input class='field' type=text name='UregT' size=8    value='<?=$UregT?>' readonly>
<a href="javascript:win_calendar('UregT', document.getElementById('UregT').value, '');">
<img src='<?=$g4[path]?>/img/calendar.gif' border=0 align=absmiddle title='달력 - 날짜를 선택하세요'></a>
<span class='small'>(달력을 클릭하세요)</span>

<td class='td_pdL'>
<input type=submit value='    회 원 검 색    '>

</table>
</div>
</form>

<!-----------회원검색 목록------------->

<table width="100%" cellpadding=0 cellspacing=0>
<colgroup width='130'><colgroup width=''><colgroup width=''><colgroup width='120'>
<tr align=center bgcolor=#aaa888 height=25>
<td class=Cwhite>아이디<td class=Cwhite>성별<td class=Cwhite>나이<td class=Cwhite>가입일<td class=Cwhite>
<?
$colspan = 5;
for ($i=0; $row=sql_fetch_array($result); $i++) {

$pf = get_member($row[mb_id]);
if ($pf[mb_sex] == 'M') { $pf_sex = "男"; }
else if ($pf[mb_sex] == 'F') { $pf_sex = "女"; }
$thisY = date("Y");
$birthY = substr($pf[mb_birth],0,4);
$pf_age = $thisY - $birthY + 1;

echo "<tr><td colspan='$colspan' class=line0>";
echo "<tr align=center>";
echo "<td><b>".$pf[mb_id]."</b>";
echo "<td>".$pf_sex;
echo "<td>".$pf[mb_birth]."(".$pf_age.")";
echo "<td>".$pf[mb_datetime];
echo "<td><a href='#none' OnClick=\"window.open('$g4[bbs_path]/memo_form.php?me_recv_mb_id=$pf[mb_id]','','scrollbars=yes,resizable=no,width=650,height=500')\">";
echo "쪽지보내기</a>";
echo "<tr><td colspan='$colspan' class=line0><tr><td colspan='$colspan' class=line>";
}
if ($i == 0)
    echo "<tr><td colspan='$colspan' align=center height=100>자료가 없습니다.</td></tr>";
?>
</tr></table>

<?
$pagelist = get_paging($config[cf_write_pages], $page, $total_page, "?$qstr&page=");
echo "<br /><table width=100% cellpadding=3 cellspacing=1>";
echo "<tr>";
echo "<td align=center>$pagelist</td></tr></table>";
?>

<?
include_once("./_tail.php");

//} // 로그인후 사용가능
?>
추천
8
  • 복사

댓글 11개

© SIRSOFT
현재 페이지 제일 처음으로