페이징문제좀 해결해주세요 정보
그누보드 페이징문제좀 해결해주세요본문
아래소스의 페이징처리를 하려합니다.
고수분들 해결부탁드립니다.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "DESIGN");
$html_title = "";
?>
<table width=95% cellpadding=3 cellspacing=0 align=center>
<tr><td height=1 background='./<?=$cfg[bbs_dir]?>/line.gif'></td></tr>
<tr><td class='subject subjectbg ht'> <?=$html_title?></td></tr>
<tr><td height=1 background='./<?=$cfg[bbs_dir]?>/line.gif'></td></tr>
</table>
<p>
<table width=95% cellpadding=0 cellspacing=0 align=center>
<tr>
<td width='' valign=top>
<?
if ($hours < 1 || $hours > 24) {
$hours = 4;
}
$sql = " select a.bo_subject, a.bo_table, b.gr_subject from $cfg[table_board] a, $cfg[table_group] b where a.gr_id = b.gr_id AND b.gr_id =
'expro'
order by b.gr_id, a.bo_table ";
$result = sql_query($sql);
while ($row = mysql_fetch_array($result)) {
$gr_subject=get_text(cut_str($row[gr_subject],20,'.'));
$tbl = "{$cfg[write_table_prefix]}{$row[bo_table]}";
$sql2 = " select wr_id,
wr_parent_id,
mb_id,
wr_name,
wr_file1,
wr_file2,wr_1,wr_2,wr_3,
wr_email,
wr_homepage,
wr_num,
wr_subject,
wr_content,
wr_datetime
from $tbl
where wr_datetime
order by wr_id desc ";
$result2 = sql_query($sql2);
for ($i = 0; $row2 = mysql_fetch_array($result2); $i++) {
if ($row2[wr_comment] > 0) {
$sql3 = " select wr_subject
from $tbl
where wr_comment = 0
and wr_parent_id = '$row2[wr_parent_id]' ";
$row3 = sql_fetch($sql3);
$wr_subject = $row3[wr_subject];
$wr_content = $row3[wr_content];
} else {
$wr_subject = $row2[wr_subject];
$wr_content = $row2[wr_content];
}
$wr_content = get_text($wr_content);
$wr_subject = get_text($wr_subject);
$wr_datetime = $row2[wr_datetime];
$key = $row2[wr_datetime] . $row[bo_table] . $row2[wr_id];
$list[$key]->bo_subject = get_text(cut_str($row[bo_subject],8));
$list[$key]->bo_table = $row[bo_table];
$list[$key]->mb_id = $row2[mb_id];
$list[$key]->mb_open = $row2[mb_open];
$list[$key]->wr_id = $row2[wr_id];
$list[$key]->wr_parent_id = $row2[wr_parent_id];
$list[$key]->wr_email = $row2[wr_email];
$list[$key]->wr_homepage = $row2[wr_homepage];
$list[$key]->wr_name = get_text(cut_str($row2[wr_name],12));
$list[$key]->wr_subject = get_text(cut_str($row2[wr_subject],20));
$list[$key]->wr_content = get_text(cut_str($wr_content,160,'…'));
$list[$key]->wr_comment = $row2[wr_comment];
$list[$key]->wr_commentcnt = $row2[wr_commentcnt];
$list[$key]->wr_datetime = $row2[wr_datetime];
$list[$key]->wr_file1 = $row2[wr_file1];
$list[$key]->wr_file2 = $row2[wr_file2];
$list[$key]->wr_1 = $row2[wr_1];
$list[$key]->wr_2 = $row2[wr_2];
$list[$key]->wr_3 = $row2[wr_3];
if (@preg_match($cfg[image_extension], $row2[wr_file1])) {
$list[$key]->file_image1 = "./data/file/{$row[bo_table]}/" . $row2[wr_file1];
}
if (@preg_match($cfg[image_extension], $row2[wr_file2])) {
$list[$key]->file_image2 = "./data/file/{$row[bo_table]}/" . $row2[wr_file2];
}
}
mysql_free_result($result2);
}
mysql_free_result($result);
?>
<table width=100% border=0 cellspacing=0 cellpadding=0>
<tr><td colspan=4 height=1 background='./<?=$cfg[bbs_dir]?>/line.gif'></td></tr>
<tr class='subject subjectbg ht' align="center">
<td><?=subject_sort_link('bo_table', $qstr2)?>게시판</td>
<td><?=subject_sort_link('bo_subject', $qstr2)?>제목</td>
<td><?=subject_sort_link('wr_name', $qstr2)?>작성자</td>
<td><?=subject_sort_link('wr_datetime', $qstr2)?>작성일</td>
</tr>
<tr><td colspan=4 height=1 background='./<?=$cfg[bbs_dir]?>/line.gif'></td></tr>
<?
if (count($list) > 0) {
$i=0;
if($sorder == "desc" ) {
ksort($list);
} else {
krsort($list);
}
reset ($list);
foreach ($list as $key=>$value) {
$comment = "";
$atag_comment = "";
if ($value->wr_comment > 0) {
$comment = "<span style='font-size:8pt;'>[c]</span> ";
$atag_comment = "#c{$value->wr_id}";
}
$commentcnt = "";
if ($value->wr_commentcnt > 0) {
$commentcnt = "<font size=-2>({$value->wr_commentcnt})</font>";
}
$name = gblayer($value->mb_id, cut_str($value->wr_name,12), $value->wr_email, $value->wr_homepage);
$value->bo_subject = cut_str($value->bo_subject, 20);
$list = $i++%2;
echo "<tr class='list$list ht' align=center>";
echo "<td width=100><a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=".$value->bo_table."'>".$value->bo_subject."</a></td>";
echo "<td align=left> <a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=".$value->bo_table."&wr_id=".$value->wr_parent_id."$atag_comment'>$comment{$value->wr_subject}</a> {$commentcnt}</td>";
echo "<td width=70> $name </td>";
echo "<td width=70 align=center>[".substr($value->wr_datetime,2,8)."]</td>";
//echo "<td width=60>{$value->wr_hit}</td>";
echo "</tr>\n";
//echo "<tr><td colspan=4 background='{$gnu_path}image/line_width.gif'></td></tr>\n";
}
} else
echo "<td height=100 align=center colspan=4>등록된 글이 없습니다.</td>";
?>
<tr><td colspan=4 height=1 background='./<?=$cfg[bbs_dir]?>/line.gif'></td></tr>
</table>
<p>
</td>
</tr>
</table>
고수분들 해결부탁드립니다.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "DESIGN");
$html_title = "";
?>
<table width=95% cellpadding=3 cellspacing=0 align=center>
<tr><td height=1 background='./<?=$cfg[bbs_dir]?>/line.gif'></td></tr>
<tr><td class='subject subjectbg ht'> <?=$html_title?></td></tr>
<tr><td height=1 background='./<?=$cfg[bbs_dir]?>/line.gif'></td></tr>
</table>
<p>
<table width=95% cellpadding=0 cellspacing=0 align=center>
<tr>
<td width='' valign=top>
<?
if ($hours < 1 || $hours > 24) {
$hours = 4;
}
$sql = " select a.bo_subject, a.bo_table, b.gr_subject from $cfg[table_board] a, $cfg[table_group] b where a.gr_id = b.gr_id AND b.gr_id =
'expro'
order by b.gr_id, a.bo_table ";
$result = sql_query($sql);
while ($row = mysql_fetch_array($result)) {
$gr_subject=get_text(cut_str($row[gr_subject],20,'.'));
$tbl = "{$cfg[write_table_prefix]}{$row[bo_table]}";
$sql2 = " select wr_id,
wr_parent_id,
mb_id,
wr_name,
wr_file1,
wr_file2,wr_1,wr_2,wr_3,
wr_email,
wr_homepage,
wr_num,
wr_subject,
wr_content,
wr_datetime
from $tbl
where wr_datetime
order by wr_id desc ";
$result2 = sql_query($sql2);
for ($i = 0; $row2 = mysql_fetch_array($result2); $i++) {
if ($row2[wr_comment] > 0) {
$sql3 = " select wr_subject
from $tbl
where wr_comment = 0
and wr_parent_id = '$row2[wr_parent_id]' ";
$row3 = sql_fetch($sql3);
$wr_subject = $row3[wr_subject];
$wr_content = $row3[wr_content];
} else {
$wr_subject = $row2[wr_subject];
$wr_content = $row2[wr_content];
}
$wr_content = get_text($wr_content);
$wr_subject = get_text($wr_subject);
$wr_datetime = $row2[wr_datetime];
$key = $row2[wr_datetime] . $row[bo_table] . $row2[wr_id];
$list[$key]->bo_subject = get_text(cut_str($row[bo_subject],8));
$list[$key]->bo_table = $row[bo_table];
$list[$key]->mb_id = $row2[mb_id];
$list[$key]->mb_open = $row2[mb_open];
$list[$key]->wr_id = $row2[wr_id];
$list[$key]->wr_parent_id = $row2[wr_parent_id];
$list[$key]->wr_email = $row2[wr_email];
$list[$key]->wr_homepage = $row2[wr_homepage];
$list[$key]->wr_name = get_text(cut_str($row2[wr_name],12));
$list[$key]->wr_subject = get_text(cut_str($row2[wr_subject],20));
$list[$key]->wr_content = get_text(cut_str($wr_content,160,'…'));
$list[$key]->wr_comment = $row2[wr_comment];
$list[$key]->wr_commentcnt = $row2[wr_commentcnt];
$list[$key]->wr_datetime = $row2[wr_datetime];
$list[$key]->wr_file1 = $row2[wr_file1];
$list[$key]->wr_file2 = $row2[wr_file2];
$list[$key]->wr_1 = $row2[wr_1];
$list[$key]->wr_2 = $row2[wr_2];
$list[$key]->wr_3 = $row2[wr_3];
if (@preg_match($cfg[image_extension], $row2[wr_file1])) {
$list[$key]->file_image1 = "./data/file/{$row[bo_table]}/" . $row2[wr_file1];
}
if (@preg_match($cfg[image_extension], $row2[wr_file2])) {
$list[$key]->file_image2 = "./data/file/{$row[bo_table]}/" . $row2[wr_file2];
}
}
mysql_free_result($result2);
}
mysql_free_result($result);
?>
<table width=100% border=0 cellspacing=0 cellpadding=0>
<tr><td colspan=4 height=1 background='./<?=$cfg[bbs_dir]?>/line.gif'></td></tr>
<tr class='subject subjectbg ht' align="center">
<td><?=subject_sort_link('bo_table', $qstr2)?>게시판</td>
<td><?=subject_sort_link('bo_subject', $qstr2)?>제목</td>
<td><?=subject_sort_link('wr_name', $qstr2)?>작성자</td>
<td><?=subject_sort_link('wr_datetime', $qstr2)?>작성일</td>
</tr>
<tr><td colspan=4 height=1 background='./<?=$cfg[bbs_dir]?>/line.gif'></td></tr>
<?
if (count($list) > 0) {
$i=0;
if($sorder == "desc" ) {
ksort($list);
} else {
krsort($list);
}
reset ($list);
foreach ($list as $key=>$value) {
$comment = "";
$atag_comment = "";
if ($value->wr_comment > 0) {
$comment = "<span style='font-size:8pt;'>[c]</span> ";
$atag_comment = "#c{$value->wr_id}";
}
$commentcnt = "";
if ($value->wr_commentcnt > 0) {
$commentcnt = "<font size=-2>({$value->wr_commentcnt})</font>";
}
$name = gblayer($value->mb_id, cut_str($value->wr_name,12), $value->wr_email, $value->wr_homepage);
$value->bo_subject = cut_str($value->bo_subject, 20);
$list = $i++%2;
echo "<tr class='list$list ht' align=center>";
echo "<td width=100><a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=".$value->bo_table."'>".$value->bo_subject."</a></td>";
echo "<td align=left> <a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=".$value->bo_table."&wr_id=".$value->wr_parent_id."$atag_comment'>$comment{$value->wr_subject}</a> {$commentcnt}</td>";
echo "<td width=70> $name </td>";
echo "<td width=70 align=center>[".substr($value->wr_datetime,2,8)."]</td>";
//echo "<td width=60>{$value->wr_hit}</td>";
echo "</tr>\n";
//echo "<tr><td colspan=4 background='{$gnu_path}image/line_width.gif'></td></tr>\n";
}
} else
echo "<td height=100 align=center colspan=4>등록된 글이 없습니다.</td>";
?>
<tr><td colspan=4 height=1 background='./<?=$cfg[bbs_dir]?>/line.gif'></td></tr>
</table>
<p>
</td>
</tr>
</table>
댓글 전체
지가좀 실력이 럾어서 분석은 .....
게시물을 기준으로 페이징하려합니다.제발 답변좀 부탁드립니다.
게시물을 기준으로 페이징하려합니다.제발 답변좀 부탁드립니다.
게시판을 기준으로 페이징을 할건지.. 아니면 게시물을 기준으로 페이지을 할건지 기준이 있어야겠지요..
전체를 페이징하려면..
그누보드의 bbs/gnusearch.php 파일이 위 소스의 구조와 흡사합니다.
위에 알려드린 파일을 분석해 보세요.
전체를 페이징하려면..
그누보드의 bbs/gnusearch.php 파일이 위 소스의 구조와 흡사합니다.
위에 알려드린 파일을 분석해 보세요.