쪽지 페이징 처리하는 방법좀... 정보
쪽지 페이징 처리하는 방법좀...본문
쪽지 페이징 처리하는 방법을 도저히 모르겠네요..
고수님들 방법 좀 가르쳐 주세요!!!
댓글 전체
이스킨에서 페이징 처리 부분을 참고 하세요.
http://sir.co.kr/bbs/tb.php/g4_skin/13368
http://sir.co.kr/bbs/tb.php/g4_skin/13368
참고하였는데 변경된 사항이 많은 스킨이었습니다.
오리지널 버전으로 접목시켜보니 적용되질 않더군요...
오리지널 버전으로 접목시켜보니 적용되질 않더군요...
변경된 사항이 많더라도 다른 부분은 무시하고 페이징 처리 부분만 빼와서 적용 시키면 됩니다. 참고로 페이지 처리를 하기 위해선 원본과 스킨 모두 수정해야 합니다.
bbs/memo.php
<?
include_once("./_common.php");
if (!$member[mb_id])
alert_close("회원만 이용하실 수 있습니다.");
$g4[title] = "내 쪽지함";
include_once("$g4[path]/head.sub.php");
// 설정일이 지난 메모 삭제
$sql = " delete from $g4[memo_table]
where me_recv_mb_id = '$member[mb_id]'
and me_send_datetime < '".date("Y-m-d H:i:s", $g4[server_time] - (86400 * $config[cf_memo_del]))."' ";
sql_query($sql);
if (!$kind) $kind = "recv";
if ($kind == "recv")
$unkind = "send";
else if ($kind == "send")
$unkind = "recv";
else
alert("\$kind 값을 넘겨주세요.");
$sql = " select count(*) as cnt from $g4[memo_table] where me_{$kind}_mb_id = '$member[mb_id]' ";
$row = sql_fetch($sql);
$total_count = number_format($row[cnt]);
//$rows = 3;
$rows = $config[cf_write_pages];
$total_page = ceil($total_count / $rows);
if (!$page) { $page = 1; }
$from_record = ($page - 1) * $rows;
if ($kind == "recv")
{
$kind_title = "받은";
$recv_img = "on";
$send_img = "off";
}
else
{
$kind_title = "보낸";
$recv_img = "off";
$send_img = "on";
}
$list = array();
/*
$sql = " select a.*, b.mb_id, b.mb_nick, b.mb_email, b.mb_homepage
from $g4[memo_table] a
left join $g4[member_table] b on (a.me_{$unkind}_mb_id = b.mb_id)
where a.me_{$kind}_mb_id = '$member[mb_id]'
order by a.me_id desc ";
*/
$sql = " select a.*, b.mb_id, b.mb_nick, b.mb_email, b.mb_homepage
from $g4[memo_table] a
left join $g4[member_table] b on (a.me_{$unkind}_mb_id = b.mb_id)
where a.me_{$kind}_mb_id = '$member[mb_id]'
order by a.me_id desc limit $from_record, $rows";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$list[$i] = $row;
$mb_id = $row["me_{$unkind}_mb_id"];
if ($row[mb_nick])
$mb_nick = $row[mb_nick];
else
$mb_nick = "<font color=silver>정보없음</font>";
$name = get_sideview($row[mb_id], $row[mb_nick], $row[mb_email], $row[mb_homepage]);
if (substr($row[me_read_datetime],0,1) == '0')
$read_datetime = '아직 읽지 않음';
else
$read_datetime = substr($row[me_read_datetime],2,14);
$send_datetime = substr($row[me_send_datetime],2,14);
$list[$i][name] = $name;
$list[$i][send_datetime] = $send_datetime;
$list[$i][read_datetime] = $read_datetime;
$list[$i][view_href] = "./memo_view.php?me_id=$row[me_id]&kind=$kind&page=$page";
$list[$i][del_href] = "./memo_delete.php?me_id=$row[me_id]&kind=$kind&page=$page";
}
$page = get_paging($config[cf_write_pages], $page, $total_page, "?kind=$kind&page=");
echo "<script language='javascript' src='$g4[path]/js/sideview.js'></script>";
$member_skin_path = "$g4[path]/skin/member/$config[cf_member_skin]";
include_once("$member_skin_path/memo.skin.php");
include_once("$g4[path]/tail.sub.php");
?>
스킨/memo.skin.pkp
<?=$page?><-추가
<?
include_once("./_common.php");
if (!$member[mb_id])
alert_close("회원만 이용하실 수 있습니다.");
$g4[title] = "내 쪽지함";
include_once("$g4[path]/head.sub.php");
// 설정일이 지난 메모 삭제
$sql = " delete from $g4[memo_table]
where me_recv_mb_id = '$member[mb_id]'
and me_send_datetime < '".date("Y-m-d H:i:s", $g4[server_time] - (86400 * $config[cf_memo_del]))."' ";
sql_query($sql);
if (!$kind) $kind = "recv";
if ($kind == "recv")
$unkind = "send";
else if ($kind == "send")
$unkind = "recv";
else
alert("\$kind 값을 넘겨주세요.");
$sql = " select count(*) as cnt from $g4[memo_table] where me_{$kind}_mb_id = '$member[mb_id]' ";
$row = sql_fetch($sql);
$total_count = number_format($row[cnt]);
//$rows = 3;
$rows = $config[cf_write_pages];
$total_page = ceil($total_count / $rows);
if (!$page) { $page = 1; }
$from_record = ($page - 1) * $rows;
if ($kind == "recv")
{
$kind_title = "받은";
$recv_img = "on";
$send_img = "off";
}
else
{
$kind_title = "보낸";
$recv_img = "off";
$send_img = "on";
}
$list = array();
/*
$sql = " select a.*, b.mb_id, b.mb_nick, b.mb_email, b.mb_homepage
from $g4[memo_table] a
left join $g4[member_table] b on (a.me_{$unkind}_mb_id = b.mb_id)
where a.me_{$kind}_mb_id = '$member[mb_id]'
order by a.me_id desc ";
*/
$sql = " select a.*, b.mb_id, b.mb_nick, b.mb_email, b.mb_homepage
from $g4[memo_table] a
left join $g4[member_table] b on (a.me_{$unkind}_mb_id = b.mb_id)
where a.me_{$kind}_mb_id = '$member[mb_id]'
order by a.me_id desc limit $from_record, $rows";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$list[$i] = $row;
$mb_id = $row["me_{$unkind}_mb_id"];
if ($row[mb_nick])
$mb_nick = $row[mb_nick];
else
$mb_nick = "<font color=silver>정보없음</font>";
$name = get_sideview($row[mb_id], $row[mb_nick], $row[mb_email], $row[mb_homepage]);
if (substr($row[me_read_datetime],0,1) == '0')
$read_datetime = '아직 읽지 않음';
else
$read_datetime = substr($row[me_read_datetime],2,14);
$send_datetime = substr($row[me_send_datetime],2,14);
$list[$i][name] = $name;
$list[$i][send_datetime] = $send_datetime;
$list[$i][read_datetime] = $read_datetime;
$list[$i][view_href] = "./memo_view.php?me_id=$row[me_id]&kind=$kind&page=$page";
$list[$i][del_href] = "./memo_delete.php?me_id=$row[me_id]&kind=$kind&page=$page";
}
$page = get_paging($config[cf_write_pages], $page, $total_page, "?kind=$kind&page=");
echo "<script language='javascript' src='$g4[path]/js/sideview.js'></script>";
$member_skin_path = "$g4[path]/skin/member/$config[cf_member_skin]";
include_once("$member_skin_path/memo.skin.php");
include_once("$g4[path]/tail.sub.php");
?>
스킨/memo.skin.pkp
<?=$page?><-추가
위의 방법 외에도 내용보기 / 삭제 / 리스트가기 등에서 페이지값을 유지하기 위해선 $page 변수를 가지고 가도록 전부 수정해야 합니다.
감사합니다. 헐랭이님...
order by a.me_id desc limit $from_record, $rows";
이부분만 수정하면 되는것을 SQL구문적용을 이렇게 달리하는 것을 몰랐네요
아무튼 정말 감사합니다.
order by a.me_id desc limit $from_record, $rows";
이부분만 수정하면 되는것을 SQL구문적용을 이렇게 달리하는 것을 몰랐네요
아무튼 정말 감사합니다.
헐랭이님 설명대로 따라했더니 아주 잘됩니다 ㅠㅠ 엄청 찾아헤맸는데 답이 여기있었네요! 감사합니다 ㅠㅠ