목록에서 정렬이 이상해요. > 그누3질답

그누3질답

목록에서 정렬이 이상해요. 정보

그누보드 목록에서 정렬이 이상해요.

본문

해피아이님의 요지를 제대로 이해했는지 모르겠군요.
1
게시판 위의 카테고리를 사용하기 위해서 게시판 스킨 안에 cat_config.php 화일을 넣어서 사용했습니다.
내용은 아래와 같고요... 헤드에서 불러와서 사용합니다.
----아래
<?
if (defined(__FILE__)) return;
define(__FILE__, TRUE);

// description : 게시판 왼쪽에 카테고리 출력하기 
// created by : root(http://www.ThreeS.org)
// version : 1.0
// created : 2003.12.29
// sample :
// http://threes.org/gnu3/index.php?doc=bbs/gnuboard.php&bo_table=bwork
// 이미지 이름 생성룰....
// 이미지 이름은 스킨 디렉토리에 게시판테이블이름+ca_id번호.gif로 한다.
// 단 전체일경우는 게시판테이블이름+0.gif로 한다.
// ex) 게시판테이블이 qna일경우 qna0.gif,qna1.gif,qna2.gif,qna3.gif,qna4.gif
//


$is_image = false; // 카테고리가 이미지인지(true일경우)  텍스트인지(false일력ㅇ우)

function get_category($bo_table)
{
global $cfg, $stext, $board_skin, $doc, $is_image;

$ca_sql = " select * from {$cfg[write_table_prefix]}{$bo_table}_cat order by BINARY ca_name ";
$ca_result = sql_query($ca_sql);

$loc = "./?doc=bbs/gnuboard.php&bo_table=$bo_table&sselect=ca_id&stext=";


if($is_image) { // 카테고리가 이미지일때
//if(!$stext){
// $str = " <b>[ <a href=$loc><font color=000099>전체</font></a> ]</b><br>\n";
//} else {
// $str = "[ <a href=$loc><font color=000099전체</font></a> ]<br>\n";
//}
$str = " <a href=$loc><img src=$board_skin/{$bo_table}0.gif border=0></img></a> ";

while ($row = mysql_fetch_array($ca_result)) {
if($stext == $row[ca_id]) $str .= "<b>";
$str .= " <a href=$loc$row[ca_id]><img src=$board_skin/$bo_table$row[ca_id].gif border=0></img></a> ";
if($stext == $row[ca_id]) $str .= "</b>";
$str .= "</br>\n";
}
} else { // 카테고리가 텍스트 일때
if(!$stext){
$str = "<b><a href=$loc><font color=B80107 size=2><?=$bo_table?>전체</font></a> </b> &nbsp;&nbsp; \n";
} else {
$str = "<a href=$loc><font color=000099><?=$bo_table?>전체</font></a> &nbsp;&nbsp; \n";
}

while ($row = mysql_fetch_array($ca_result)) {
if($stext == $row[ca_id]) {
$str .= "<a href=$loc$row[ca_id]><font color=B80108>".get_category_name("{$cfg[write_table_prefix]}{$bo_table}",$row[ca_id])."</font></a> &nbsp;&nbsp;";
} else {
$str .= "  <a href=$loc$row[ca_id]><font color=000099>".get_category_name("{$cfg[write_table_prefix]}{$bo_table}",$row[ca_id])."</font></a> &nbsp;&nbsp;";
}
$str .= "\n"; 
}
}

mysql_free_result($ca_result);

return $str;
}

?>
----아래끝


2
대문에서 최신글랜덤을 위해서 developer.lib.php 를 사용했습니다.
이전에 카테고리별최신글위한 것도 포함되어 있는 것 같습니다.
-------- 아래
<?
if (defined(__FILE__)) return;
define(__FILE__, TRUE);

// 개발자(사용자) 라이브러리
// 추가하는 내영 시작
    // description : 카테고리별 최신글 추출
    // created by : root(http://www.threes.org
    // version : 1.0
    // created : 2003.12.27
    // usage :
    //      latest_cat('byflower', 'bwork', '10', '20', '50', '1,2,3,4');
    //      latest_cat('byflower', 'bwork', '10', '10', '50', '');
    // sample :
    //      http://threes.org/gnu3/?doc=main/byflower.php
    //
    function latest_cat($skin_dir='', $bo_table, $rows=10, $title_len=40, $content_len=50, $wherecaid)
    {
        global $latest_skin, $cfg;
   
        $tmp_latest_skin = $latest_skin;
   
        // 스킨디렉토리값이 넘어왔다면
        if ($skin_dir) {
            $latest_skin = "./bbs/skin/latest/$skin_dir";
        }
   
        $sql = " select * from $cfg[table_board] where bo_table = '$bo_table' ";
        $bo = sql_fetch($sql);
        $bo_subject = $bo[bo_subject];
   
        // category list
        $ca_sql = " select * from {$cfg[write_table_prefix]}{$bo_table}_cat ";
        if($wherecaid) $ca_sql .= " where ca_id in($wherecaid) ";
        $ca_sql .= " order by ca_id ";
        $ca_result = sql_query($ca_sql);
   
        for ($ca_i=0; $ca_row = mysql_fetch_array($ca_result); $ca_i++) {
   
        $sql = " select *
                  from {$cfg[write_table_prefix]}{$bo_table}
                  where wr_comment = 0 and ca_id = $ca_row[ca_id]
                  order by wr_id desc limit 0, $rows ";
        $result = sql_query($sql);
   
        for ($i=0; $row = mysql_fetch_array($result); $i++) { 
            $list[$ca_i][$i] = $row;
   
            $list[$ca_i][$i][href] = "./?doc=bbs/gnuboard.php&bo_table=$bo_table&wr_id=$row[wr_id]";
   
            // 코멘트 카운트
            $list[$ca_i][$i][commentcnt] = "";
            if ($row[wr_commentcnt] > 0) {
                $list[$ca_i][$i][commentcnt] = "($row[wr_commentcnt])";
            }
   
            $list[$ca_i][$i][name] = gblayer($row[mb_id], cut_str($row[wr_name],10), $row[wr_email], $row[wr_homepage]);
            $list[$ca_i][$i][subject] = conv_subject($row[wr_subject], $title_len,"…");
            $list[$ca_i][$i][content] = get_text(cut_str($row[wr_content], $content_len,"…"));
            $list[$ca_i][$i][date] = substr($row[wr_datetime],2,8);
   
            $table = "{$cfg[write_table_prefix]}{$bo_table}";
            $is_category = false;
            if ($bo[bo_use_category]) {
                $is_category = true;
                $category_option = get_category_option($table);
            }
   
            $list[$ca_i][$i][ca_name] = get_category_name($table, $row[ca_id]);
   
            $list[$ca_i][$i][icon_new] = "";
            if ($row[wr_datetime] >= date("Y-m-d H:i:s", time() - $bo[bo_new] * 3600)) {
                $list[$ca_i][$i][icon_new] = "<img src='$latest_skin/icon_new.gif' align=absmiddle> ";
            }
   
        }
        mysql_free_result($result);
   
        }
        mysql_free_result($ca_result);
   
        include "$latest_skin/latest.skin.php";
   
        $latest_skin = $tmp_latest_skin;
    }
// 추가하는 내용 끝

//랜덤게시물 추출 방법 http://sir.co.kr/?doc=bbs/gnuboard.php&bo_table=tiptech&page=1&wr_id=2447 에서 가져왔음

function r_latest($skin_dir='', $bo_table, $rows=10, $len=40)
{
  global $latest_skin, $cfg;

  $tmp_latest_skin = $latest_skin;

  // 스킨디렉토리값이 넘어왔다면
  if ($skin_dir) {
      $latest_skin = "./$cfg[bbs_dir]/skin/latest/$skin_dir";
  }

  $sql = " select * from $cfg[table_board] where bo_table = '$bo_table' ";
  $bo = sql_fetch($sql);
  $bo_subject = $bo[bo_subject];

  $sql = " select * from {$cfg[write_table_prefix]}{$bo_table} where wr_comment = 0 order by  rand() limit 0, $rows ";
  $result = sql_query($sql);
  for ($i=0; $row = mysql_fetch_array($result); $i++) {
      $list[$i] = $row;

      $list[$i][href] = "./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=$bo_table&wr_id=$row[wr_id]";

      // 코멘트 카운트
      $list[$i][commentcnt] = "";
      if ($row[wr_commentcnt] > 0) {
          $list[$i][commentcnt] = "($row[wr_commentcnt])";
      }

      $list[$i][name] = gblayer($row[mb_id], cut_str($row[wr_name],10), $row[wr_email], $row[wr_homepage]);
      $list[$i][subject] = conv_subject($row[wr_subject], $len,"…");
      $list[$i][content] = ($row[wr_content]);
      $list[$i][date] = substr($row[wr_datetime],2,8);

      $list[$i][icon_new] = "";
      if ($row[wr_datetime] >= date("Y-m-d H:i:s", time() - $bo[bo_new] * 3600)) {
          $list[$i][icon_new] = "<img src='$latest_skin/icon_new.gif' align=absmiddle> ";
      }

      for ($k=1; $k<=$cfg[file_count]; $k++) {
          if (@preg_match($cfg[image_extension], $row["wr_file".$k])) {
              $list[$i]["file_image".$k] = "./data/file/$bo_table/" . $row["wr_file".$k];
          }
      }

      for ($k=1; $k<=$cfg[link_count]; $k++) {
          if ($row["wr_link".$k]) {
              $link[$i]["link".$k] = set_http(get_text(cut_str($row["wr_link".$k], 255)));
              $link[$i]["link_href".$k] = "./?doc=$cfg[bbs_dir]/gblink.php&$qstr&wr_id=$row[wr_id]&index=$k";
          }
      }
  }
  mysql_free_result($result);
   
  include "$latest_skin/latest.skin.php";

  $latest_skin = $tmp_latest_skin;
}

?>
----------- 아래끝

3
해드는 다음과 같습니다.
-----------아래
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

/*
    사용자 화면 상단과 좌측을 담당하는 페이지입니다.
    상단, 좌측 화면을 꾸미려면 이 파일을 수정합니다.
*/
include "./bbs/gblayer.php";
?>
<?
$icon_t="";
 if ($bo_table == Link1) {// news 게시판이면  아래와 같이 하여라
$icon_t="<img src='./$board_skin/Link1.gif' border=0 align=absmiddle>";
}

else if ($bo_table == Link2) {// love 게시판이면  아래와같이 하여라
$icon_t="<img src='./$board_skin/2.gif' border=0 align=absmiddle>";
}

else if ($bo_table == Link3) {// honey 게시판이면  아래와같이 하여라
$icon_t="<img src='./$board_skin/3.gif' border=0 align=absmiddle>";
}

else if ($bo_table == Link4) {// honey 게시판이면  아래와같이 하여라
$icon_t="<img src='./$board_skin/4.gif' border=0 align=absmiddle>";
}

else if ($bo_table == Link5) {// honey 게시판이면  아래와같이 하여라
$icon_t="<img src='./$board_skin/5.gif' border=0 align=absmiddle>";
}

else if ($bo_table == Link6) {// honey 게시판이면  아래와같이 하여라
$icon_t="<img src='./$board_skin/6.gif' border=0 align=absmiddle>";
}
?>
<script language="JavaScript">
<!--
function na_restore_img_src(name, nsdoc)
{
  var img = eval((navigator.appName.indexOf('Netscape', 0) != -1) ? nsdoc+'.'+name : 'document.all.'+name);
  if (name == '')
    return;
  if (img && img.altsrc) {
    img.src    = img.altsrc;
    img.altsrc = null;
  }
}

function na_preload_img()
{
  var img_list = na_preload_img.arguments;
  if (document.preloadlist == null)
    document.preloadlist = new Array();
  var top = document.preloadlist.length;
  for (var i=0; i < img_list.length; i++) {
    document.preloadlist[top+i]    = new Image;
    document.preloadlist[top+i].src = img_list[i+1];
  }
}

function na_change_img_src(name, nsdoc, rpath, preload)
{
  var img = eval((navigator.appName.indexOf('Netscape', 0) != -1) ? nsdoc+'.'+name : 'document.all.'+name);
  if (name == '')
    return;
  if (img) {
    img.altsrc = img.src;
    img.src    = rpath;
  }
}

// -->
</script>
<br>
<table width=1000 align=center><tr><td>

<table width=100% cellpadding=0 cellspacing=0>
<tr>
    <td height=50>
        <table width=100% cellpadding=0 cellspacing=0>
<tr>
            <td width="100%" align="center" valign="top" colspan="2" height="50">
<a href='./' ><img src="image/LnS.gif" width="150" height="40" border="0"></a>
</td>
</tr>
        <tr>
<td bgcolor="#B80107" valign="middle" style="padding-top:3;">
                &nbsp;
                <?
                echo "<a href='./'><FONT COLOR=#FFFFFF>HOME</FONT></a> <FONT COLOR=#FFFFFF>|</FONT> ";
                if (!$member[mb_id]) {
                    echo "<a href='./?doc=bbs/mblogin.php&url=$urlencode'><FONT COLOR=#FFFFFF>로그인</FONT></a> <FONT COLOR=#FFFFFF>|</FONT> ";
                    echo "<a href='./?doc=bbs/mbform.php'><FONT COLOR=#FFFFFF>회원가입</FONT></a>";
                } else {
                    echo "<a href='./?doc=bbs/mblogout.php&url=$urlencode'><FONT COLOR=#FFFFFF>로그아웃</FONT></a> <FONT COLOR=#FFFFFF>|</FONT> ";
                    echo "<a href='./?doc=bbs/mbform.php&w=u'><FONT COLOR=#FFFFFF>정보수정</FONT></a>";
                    if ($is_admin == "default" || $is_admin == "group") {
                        echo " <a href='./?doc=bbs/admin/index.php'><FONT COLOR=#FFFFFF>(ADMIN)</FONT></a>";
                    }
                }
                ?>
</td>

            <td width=25% align=right bgcolor="#B80107">
                <!-- 그누보드 외부 검색 폼 -->
                <table cellpadding=0 cellspacing=0>
                <form name=fgnusearch method=get action='<?="./"?>'>
                <tr>
                    <td>
                        <input type='hidden' name='doc'          value='bbs/gnusearch.php'>
                        <input type='hidden' name='sselect'      value='wr_subject|wr_content'>
                        <input type='hidden' name='soperator'    value='0'>
                        <input type='hidden' name='srch_rows'    value='5'>
                        <input type='hidden' name='srch_comment'  value='1'>
                        <input type='hidden' name='srch_days'    value='0'>

<img src='image/title_search.gif' align=absmiddle> &nbsp;
                        <input type=text class=input name='stext' size=15 required minlength=2 itemname='검색어' value='<?=hsc($stext)?>'>
                        <input type=image src='image/btn_go.gif' border=0 align=absmiddle>&nbsp;&nbsp;
                    </td>
                </tr>
                </form>
                </table>
            </td>
        </tr>
        </table>
    </td>
</tr>
</table>
 
<!-- 공백 -->
<table width=100% height=25><tr><td align="center">
<marquee direction=left scrollamount=2 height=15  width=600 onmouseover=stop() onmouseout=start()>
<div align="right">
여기는 희망의 빛 제물포고교,  새 나라 험한 길에 바칠 정성은,  아침 길 저녁 길에 더욱 새롭다. 아~ 네가 참 우리 나라 학도로구나
</div>
</marquee>
</td></tr></table>

<table width='100%' cellpadding=0 cellspacing=0 align="center">
 
<tr>
    <!-- 왼쪽 메뉴 부분 -->
<td width="50"></td>

    <td valign=top>

<table width="100%"  cellspacing="0">
  <tr>
    <td valign="middle" style="padding-top:3;">
    <?
    //  최신글 시작
    $grid =  "Link";
?>
<b><font color=006600 size=2><?=$group[gr_subject]?></font></b>
</td>
    <td valign="middle">
    <?
    //  최신글 시작
    $grid =  "Link";
    $sql = " select bo_table, bo_subject from $cfg[table_board] where gr_id='$grid' order by gr_id, bo_table ";
    $result = sql_query($sql);

for ($i=0; $row=mysql_fetch_array($result); $i++) {
if($bo_table == $row[bo_table]){
$bo_sub="$icon_t<font color=B80107 size=2><b>$row[bo_subject]</b></font>"; }
else{$bo_sub="<font color=000099 size=2><b>$row[bo_subject]</b></font>";}
echo "  <a href='./?doc=bbs/gnuboard.php&bo_table=$row[bo_table]'><b><font color=000099 size=2>$bo_sub</font></b></a> &nbsp;  ";
    }
    ?>
</td>
  </tr>
</table>
<br>
  <?
include "$board_skin/cat_config.php";
?>
<table width="100%" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td bgcolor="#BBBBBB" height="1" width="100%">
</td>
  </tr>
  <tr>
    <td bgcolor="#EFEFEF" width="100%" height="27" valign="middle" align="center">
&nbsp; &nbsp; 
<!-- <b><?=$board[bo_subject]?></b>  &nbsp; &nbsp; -->
<?
    echo get_category($bo_table);
?>
    </td>
  </tr>
  <tr>
    <td bgcolor="#BBBBBB" height="1" width="100%">
</td>
  </tr>
</table>
 
<!--// 상단 탑부분-->

--------아래끝

너무 많죠?
부탁드립니다.
  • 복사

댓글 전체

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