65 lines
1.8 KiB
PHP
65 lines
1.8 KiB
PHP
<?
|
|
$sub_menu = '200200';
|
|
include_once('./_common.php');
|
|
|
|
check_demo();
|
|
|
|
if (!$ok)
|
|
alert();
|
|
|
|
if ($is_admin != 'super')
|
|
alert('포인트 정리는 최고관리자만 가능합니다.');
|
|
|
|
$g4[title] = '포인트 정리';
|
|
include_once('./admin.head.php');
|
|
echo '<span id="ct"></span>';
|
|
include_once('./admin.tail.php');
|
|
flush();
|
|
|
|
echo '<script>document.getElementById("ct").innerHTML += "<p>포인트 정리중...";</script>\n';
|
|
flush();
|
|
|
|
$max_count = 50;
|
|
|
|
// 테이블 락을 걸고
|
|
$sql = ' LOCK TABLES $g4[member_table] WRITE, $g4[point_table] WRITE ';
|
|
sql_query($sql);
|
|
|
|
$sql = ' select mb_id, count(po_point) as cnt
|
|
from $g4[point_table]
|
|
group by mb_id
|
|
having cnt > {$max_count}+1
|
|
order by cnt ';
|
|
$result = sql_query($sql);
|
|
for ($i=0; $row=sql_fetch_array($result); $i++)
|
|
{
|
|
$count = 0;
|
|
$total = 0;
|
|
$sql2 = ' select po_id, po_point
|
|
from $g4[point_table]
|
|
where mb_id = "$row['mb_id']"
|
|
order by po_id desc
|
|
limit $max_count, $row[cnt] ';
|
|
$result2 = sql_query($sql2);
|
|
for ($k=0; $row2=sql_fetch_array($result2); $k++)
|
|
{
|
|
$count++;
|
|
$total += $row2[po_point];
|
|
|
|
sql_query(' delete from $g4[point_table] where po_id = "$row2[po_id]" ');
|
|
}
|
|
|
|
insert_point($row['mb_id'], $total, '포인트 {$count}건 정리', '@clear', $row['mb_id'], $g4[time_ymd].'-'.uniqid(''));
|
|
|
|
$str = $row['mb_id'].'님 포인트 내역 '.number_format($count).'건 '.number_format($total).'점 정리<br>';
|
|
echo '<script>document.getElementById("ct").innerHTML += "$str";</script>\n';
|
|
flush();
|
|
}
|
|
|
|
// 테이블 락을 풀고
|
|
$sql = ' UNLOCK TABLES ';
|
|
sql_query($sql);
|
|
|
|
echo '<script>document.getElementById("ct").innerHTML += "<p>총 '.$i.'건의 회원포인트 내역이 정리 되었습니다.";</script>\n';
|
|
?>
|