마크업:관리자>인기검색어 관리, 순위

This commit is contained in:
whitedot
2012-11-15 15:49:29 +09:00
parent 9f5bd7ebc2
commit aa5af847d9
2 changed files with 138 additions and 194 deletions

View File

@ -21,13 +21,13 @@ if ($stx) {
$sql_search .= " and ( ";
switch ($sfl) {
case "pp_word" :
$sql_search .= " ($sfl like '$stx%') ";
$sql_search .= " ({$sfl} like '{$stx}%') ";
break;
case "pp_date" :
$sql_search .= " ($sfl = '$stx') ";
$sql_search .= " ({$sfl} = '{$stx}') ";
break;
default :
$sql_search .= " ($sfl like '%$stx%') ";
$sql_search .= " ({$sfl} like '%{$stx}%') ";
break;
}
$sql_search .= " ) ";
@ -37,14 +37,14 @@ if (!$sst) {
$sst = "pp_id";
$sod = "desc";
}
$sql_order = " order by $sst $sod ";
$sql_order = " order by {$sst} {$sod} ";
$sql = " select count(*) as cnt
$sql_common
$sql_search
$sql_order ";
{$sql_common}
{$sql_search}
{$sql_order} ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];
$total_count = $row[cnt];
$rows = $config['cf_page_rows'];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
@ -52,10 +52,10 @@ if ($page == '') { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페
$from_record = ($page - 1) * $rows; // 시작 열을 구함
$sql = " select *
$sql_common
$sql_search
$sql_order
limit $from_record, $rows ";
{$sql_common}
{$sql_search}
{$sql_order}
limit {$from_record}, {$rows} ";
$result = sql_query($sql);
$listall = '<a href="'.$_SERVER['PHP_SELF'].'">처음</a>';
@ -66,84 +66,88 @@ include_once('./admin.head.php');
$colspan = 4;
?>
<script type="text/javascript">
<script>
var list_update_php = '';
var list_delete_php = 'popular_list.php';
</script>
<table width=100% cellpadding=3 cellspacing=1>
<form id="fsearch" name="fsearch" method=get>
<tr>
<td><?=$listall?> (건수 : <?=number_format($total_count)?>개)</td>
<td>
<select id="sfl" name="sfl">
<option value='pp_word'>검색어</option>
<option value='pp_date'>등록일</option>
</select>
<input type="text" id="stx" name="stx" required itemname='검색어' value='<?=$stx?>'>
<input type="image" src='<?=$g4['admin_path']?>/img/btn_search.gif' align=absmiddle></td>
</tr>
<form id="fsearch" name="fsearch" method="get">
<fieldset>
<legend>인기검색어 검색</legend>
<div>
<span><?=$listall?></span>
건수 : <?=number_format($total_count)?>개
</div>
<select id="sfl" name="sfl">
<option value="pp_word">검색어</option>
<option value="pp_date">등록일</option>
</select>
<input type="text" id="stx" name="stx" required value="<?=$stx?>">
<input type="submit" value="검색">
</fieldset>
</form>
</table>
<form id="fpopularlist" name="fpopularlist" method=post>
<input type="hidden" id="sst" name="sst" value="<?=$sst?>">
<input type="hidden" id="sod" name="sod" value="<?=$sod?>">
<input type="hidden" id="sfl" name="sfl" value="<?=$sfl?>">
<input type="hidden" id="stx" name="stx" value="<?=$stx?>">
<input type="hidden" id="page" name="page" value="<?=$page?>">
<input type="hidden" id="token" name="token" value="<?=$token?>">
<table width=100% cellpadding=0 cellspacing=1>
<colgroup width=30>
<colgroup width=>
<colgroup width=150>
<colgroup width=150>
<tr><td colspan='<?=$colspan?>' class='line1'></td></tr>
<tr class='bgcol1 bold col1 ht center'>
<td><input type=checkbox id="chkall" name="chkall" value="1" onclick="check_all(this.form)"></td>
<td><?=subject_sort_link('pp_word')?>검색어</a></td>
<td>등록일</td>
<td>등록IP</td>
<form id="fpopularlist" name="fpopularlist" method="post">
<input type="hidden" name="sst" value="<?=$sst?>">
<input type="hidden" name="sod" value="<?=$sod?>">
<input type="hidden" name="sfl" value="<?=$sfl?>">
<input type="hidden" name="stx" value="<?=$stx?>">
<input type="hidden" name="page" value="<?=$page?>">
<input type="hidden" name="token" value="<?=$token?>">
<table>
<thead>
<tr>
<th scope="col"><?=subject_sort_link('pp_word')?>검색어</a></th>
<th scope="col">등록일</th>
<th scope="col">등록IP</th>
<th scope="col"><input type="checkbox" id="chkall" name="chkall" value="1" onclick="check_all(this.form)"></th>
</tr>
<tr><td colspan='<?=$colspan?>' class='line2'></td></tr>
</thead>
<tbody>
<?
for ($i=0; $row=sql_fetch_array($result); $i++) {
$word = get_text($row['pp_word']);
?>
$list = $i % 2;
echo "<input type="hidden" id="pp_id" name="pp_id"[$i] value='{$row['pp_id']}'>";
echo "<tr class='list$list col1 ht center'>";
echo "<td height=25><input type=checkbox id="chk" name="chk"[] value='$i'></td>";
echo "<td align='left'>&nbsp; <a href='{$_SERVER['PHP_SELF']}?sfl=pp_word&stx=$word'>$word</a></td>";
echo "<td>{$row['pp_date']}</td>";
echo "<td>{$row['pp_ip']}</td>";
echo "</tr>";
echo "<tr class='list$list col1 ht center'>";
echo "</tr>\n";
<tr>
<td>&nbsp; <a href="<?=$_SERVER['PHP_SELF']?>?sfl=pp_word&amp;stx=<?=$word?>"><?=$word?></a></td>
<td><?=$row['pp_date']?></td>
<td><?=$row['pp_ip']?></td>
<td>
<input type="hidden" id="pp_id" name="pp_id[<?=$i?>]" value="<?=$row[pp_id]?>">
<input type="checkbox" id="chk" name="chk[]" value="<?=$i?>">
</td>
</tr>
<?
}
if ($i == 0)
echo "<tr><td colspan='$colspan' align=center height=100 bgcolor=#ffffff>자료가 없습니다.</td></tr>";
echo "<tr><td colspan='$colspan' class='line2'></td></tr>";
echo "</table>";
$pagelist = get_paging($config['cf_write_pages'], $page, $total_page, "$_SERVER[PHP_SELF]?$qstr&page=");
echo "<table width=100% cellpadding=3 cellspacing=1>";
echo "<tr><td width=50%>";
if ($is_admin == 'super')
echo "<input type=button class='btn1' value='선택삭제' onclick=\"btn_check(this.form, 'delete')\">";
echo "</td>";
echo "<td>$pagelist</td></tr></table>\n";
if ($stx)
echo "<script>document.fsearch.sfl.value = '$sfl';</script>";
echo '<tr><td colspan="'.$colspan.'" class="empty_table">자료가 없습니다.</td></tr>';
?>
</tbody>
</table>
<?if ($is_admin == 'super'){ ?>
<div>
<input type="button" value="선택삭제" onclick="btn_check(this.form, 'delete')">
</div>
<?}?>
<?
$pagelist = get_paging($config['cf_write_pages'], $page, $total_page, "$_SERVER[PHP_SELF]?$qstr&amp;page=");
?>
<div class="paginate">
<?=$pagelist?>
</div>
</form>
<?
if ($stx)
echo '<script>document.fsearch.sfl.value = \''.$sfl.'\';</script>';
?>
<?
include_once('./admin.tail.php');
?>

View File

@ -7,31 +7,31 @@ auth_check($auth[$sub_menu], 'r');
if (empty($fr_date)) $fr_date = $g4['time_ymd'];
if (empty($to_date)) $to_date = $g4['time_ymd'];
$qstr = "fr_date=$fr_date&to_date=$to_date";
$qstr = "fr_date={$fr_date}{&to_date}={$to_date}";
$sql_common = " from {$g4['popular_table']} a ";
$sql_search = " where trim(pp_word) <> '' and pp_date between '$fr_date' and '$to_date' ";
$sql_search = " where trim(pp_word) <> '' and pp_date between '{$fr_date}' and '{$to_date}' ";
$sql_group = " group by pp_word ";
$sql_order = " order by cnt desc ";
$sql = " select pp_word
$sql_common
$sql_search
$sql_group ";
{$sql_common}
{$sql_search}
{$sql_group} ";
$result = sql_query($sql);
$total_count = mysql_num_rows($result);
$rows = $config['cf_page_rows'];
$rows = $config[cf_page_rows];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page == '') { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함
$sql = " select pp_word, count(*) as cnt
$sql_common
$sql_search
$sql_group
$sql_order
limit $from_record, $rows ";
{$sql_common}
{$sql_search}
{$sql_group}
{$sql_order}
limit {$from_record}, {$rows} ";
$result = sql_query($sql);
$listall = '<a href="'.$_SERVER['PHP_SELF'].'">처음</a>';
@ -42,132 +42,72 @@ include_once('./admin.head.php');
$colspan = 3;
?>
<?
//==============================================================================
// jquery date picker
//------------------------------------------------------------------------------
// 참고) ie 에서는 년, 월 select box 를 두번씩 클릭해야 하는 오류가 있습니다.
//------------------------------------------------------------------------------
// jquery-ui.css 의 테마를 변경해서 사용할 수 있습니다.
// base, black-tie, blitzer, cupertino, dark-hive, dot-luv, eggplant, excite-bike, flick, hot-sneaks, humanity, le-frog, mint-choc, overcast, pepper-grinder, redmond, smoothness, south-street, start, sunny, swanky-purse, trontastic, ui-darkness, ui-lightness, vader
// 아래 css 는 date picker 의 화면을 맞추는 코드입니다.
?>
<link type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/themes/base/jquery-ui.css" rel="stylesheet" />
<style type="text/css">
<!--
.ui-datepicker { font:12px dotum; }
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year { width: 70px;}
.ui-datepicker-trigger { margin:0 0 -5px 2px; }
-->
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js"></script>
<script type="text/javascript">
/* Korean initialisation for the jQuery calendar extension. */
/* Written by DaeKwon Kang (ncrash.dk@gmail.com). */
jQuery(function($){
$.datepicker.regional['ko'] = {
closeText: '닫기',
prevText: '이전달',
nextText: '다음달',
currentText: '오늘',
monthNames: ['1월(JAN)','2월(FEB)','3월(MAR)','4월(APR)','5월(MAY)','6월(JUN)',
'7월(JUL)','8월(AUG)','9월(SEP)','10월(OCT)','11월(NOV)','12월(DEC)'],
monthNamesShort: ['1월','2월','3월','4월','5월','6월',
'7월','8월','9월','10월','11월','12월'],
dayNames: ['일','월','화','수','목','금','토'],
dayNamesShort: ['일','월','화','수','목','금','토'],
dayNamesMin: ['일','월','화','수','목','금','토'],
weekHeader: 'Wk',
dateFormat: 'yy-mm-dd',
firstDay: 0,
isRTL: false,
showMonthAfterYear: true,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['ko']);
$('#fr_date, #to_date').datepicker({
showOn: 'button',
buttonImage: "<?=$g4['path']?>/img/calendar.gif",
buttonImageOnly: true,
buttonText: "달력",
changeMonth: true,
changeYear: true,
showButtonPanel: true,
yearRange: 'c-99:c+99',
maxDate: '+0d'
});
});
</script>
<?
//==============================================================================
?>
<table width=100% cellpadding=3 cellspacing=1>
<form id="fsearch" name="fsearch" method=get>
<tr>
<td><?=$listall?> (건수 : <?=number_format($total_count)?>개)</td>
<td>
기간 :
<input type="text" id='fr_date' id="fr_date" name="fr_date" size=11 maxlength=10 value='<?=$fr_date?>'>
-
<input type="text" id='to_date' id="to_date" name="to_date" size=11 maxlength=10 value='<?=$to_date?>'>
<input type="image" src='<?=$g4['admin_path']?>/img/btn_search.gif' align=absmiddle></td>
</tr>
<form id="fsearch" name="fsearch" method="get">
<fieldset>
<legend>인기검색어 검색</legend>
<div>
<span><?=$listall?></span>
건수 : <?=number_format($total_count)?>개
</div>
<label for="fr_date">기간설정</label>
<input type="text" id="fr_date" name="fr_date" maxlength="10" value="<?=$fr_date?>" title="구간시작일"> 부터 <input type="text" id="to_date" name="to_date" maxlength="10" value="<?=$to_date?>" title="구간종료일"> 까지
<input type="submit" value="검색">
</fieldset>
</form>
</table>
<form id="fpopularrank" name="fpopularrank" method=post>
<input type="hidden" id="sst" name="sst" value="<?=$sst?>">
<input type="hidden" id="sod" name="sod" value="<?=$sod?>">
<input type="hidden" id="sfl" name="sfl" value="<?=$sfl?>">
<input type="hidden" id="stx" name="stx" value="<?=$stx?>">
<input type="hidden" id="page" name="page" value="<?=$page?>">
<input type="hidden" id="token" name="token" value="<?=$token?>">
<table width=100% cellpadding=0 cellspacing=1>
<colgroup width=>
<colgroup width=150>
<colgroup width=150>
<tr><td colspan='<?=$colspan?>' class='line1'></td></tr>
<tr class='bgcol1 bold col1 ht center'>
<td>검색어</td>
<td>검색회수</td>
<td>순위</td>
<form id="fpopularrank" name="fpopularrank" method="post">
<input type="hidden" name="sst" value="<?=$sst?>">
<input type="hidden" name="sod" value="<?=$sod?>">
<input type="hidden" name="sfl" value="<?=$sfl?>">
<input type="hidden" name="stx" value="<?=$stx?>">
<input type="hidden" name="page" value="<?=$page?>">
<input type="hidden" name="token" value="<?=$token?>">
<table>
<thead>
<tr>
<th scope="col">검색어</th>
<th scope="col">검색회수</th>
<th scope="col">순위</th>
</tr>
<tr><td colspan='<?=$colspan?>' class='line2'></td></tr>
</thead>
<tbody>
<?
for ($i=0; $row=sql_fetch_array($result); $i++) {
$word = get_text($row['pp_word']);
$rank = ($i + 1 + ($rows * ($page - 1)));
$list = $i % 2;
echo "<tr class='list$list col1 ht center'>";
echo "<td align='left'>&nbsp; $word</td>";
echo "<td>{$row['cnt']}</td>";
echo "<td>$rank</td>";
echo "</tr>";
echo "<tr class='list$list col1 ht center'>";
echo "</tr>\n";
?>
<tr>
<td><?=$word?></td>
<td><?=$row['cnt']?></td>
<td><?=$rank?></td>
</tr>
<?
}
if ($i == 0)
echo "<tr><td colspan='$colspan' align=center height=100 bgcolor=#ffffff>자료가 없습니다.</td></tr>";
echo '<tr><td colspan="'.$colspan.'" class="empty_table">자료가 없습니다.</td></tr>';
?>
</tbody>
</table>
echo "<tr><td colspan='$colspan' class='line2'></td></tr>";
echo "</table>";
<?if ($is_admin == 'super'){?>
<div class="btn_list">
<input type="button" value="선택삭제" onclick="btn_check(this.form, 'delete')">
</div>
<?}?>
$pagelist = get_paging($config['cf_write_pages'], $page, $total_page, "$_SERVER[PHP_SELF]?$qstr&page=");
echo "<table width=100% cellpadding=3 cellspacing=1>";
echo "<tr><td width=50%>";
if ($is_admin == 'super')
echo "<input type=button class='btn1' value='선택삭제' onclick=\"btn_check(this.form, 'delete')\">";
echo "</td>";
echo "<td>$pagelist</td></tr></table>\n";
<?
$pagelist = get_paging($config['cf_write_pages'], $page, $total_page, "$_SERVER[PHP_SELF]?$qstr&amp;page=");
?>
<div class="paginate">
<?=$pagelist?>
</div>
<?
if ($stx)
echo "<script>document.fsearch.sfl.value = '$sfl';</script>";
?>