이런것이 가능할까요? > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

이런것이 가능할까요? 정보

이런것이 가능할까요?

본문

안녕하세요...
음~ 부족한 내공으로 클럽을 수정하다보니..질문이 종종 생기네요..
여러분들의 도움으로 하나하나 잘처리하고 있습니다
감사합니다
그런데 이번에또 아래와 같은 의문이 생겼습니다
아래소스는 club/includ/latest.lib.php파일입니다
아래소스를 이용하면 첫번째 그림과 같이 최신글이 출력되는데..
제가 하고 싶은것은 카테고리가!!! 갤러리 일때만 두번째 그림과같이..
갤러리 출력만 한줄로 나오게 하고 싶습니다..다른최신글은 똑같이..오로지 카테고리가 갤러리일때만 한줄..
-----------------------------------소스----------------------------
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once("$g4[path]/lib/latest.lib.php");
?>
<?
$col_width = 100 / $cb[cb_latest_cols]. "%";
$board    = sql_fetch(" select * from $g4[board_table] where bo_table = '$cb[cb_id]' ");
$cn_list  = explode("|", $board[bo_category_list]);
?>
<table width="100%" border="0">
<?
for ($j=0; $j<count($cn_list); $j++) {
    if (!$cn_list[$j]) { continue; }
   if ($j != 0 && $j%$cb[cb_latest_cols] == 0) { echo "</tr><tr>"; }
    echo "<td width='$col_width' height='150' valign='top'>". cb_latest($cb[cb_latest_skin], $cb[cb_id], $cn_list[$j], $cb[cb_latest_rows], $cb[cb_latest_len]). "</td>\n";
   
}
?>
</table>
 
----------------------------------------이부분입니다----------------
 
감사합니다...
  • 복사

댓글 전체

if ($ca_name == 'gallery';) { //변수명은 수정필요.
$cb[cb_latest_cols] = '1';
} else {
$cb[cb_latest_cols] = '2';
}

이걸 추가하시면 되지 않을까요? 
확인은 못해봤습니다.... ^^
감사합니다..하지만 제가 잘못해서 그런지 안되는것 같아요..
제가 원하는건 카테고리수가 얼마든지.. 카테고리가 갤러리 일땐..한줄로 보이는거죠..
나라오름님의 클럽은 최신글이 카테고리 별로 출력됩니다^^
아래 그림을 참조하시고 알려주시면 감사하겠습니다^^
http://sell8282.com/img1.gif
http://sell8282.com/img2.gif
첫번째 링크와 같이 출력되는것을 두번째 그림과 같이 출력하고 싶습니다

감사합니다
클럽은 제가 안써서 잘모르겠는데요...
혹 안되도 너그러이 용서하세요.. ㅠㅁㅠ

$cn_list  = explode("|", $board[bo_category_list]);
여기서 카테고리를 뽑았네요..

그래서
if ($cn_list[$j] == "갤러리") {
 //갤러리 나오는 최근게시물 소스 -- 아래 요게 그 소스가 맞나 모르겠네요..
$cb[cb_latest_cols] = '1';
    echo "<td width='$col_width' height='150' valign='top'>". cb_latest($cb[cb_latest_skin], $cb[cb_id], $cn_list[$j], $cb[cb_latest_rows], $cb[cb_latest_len]). "</td>\n";
}
이런식으로 포문안에 넣으면 되지 않을까요??

근디 날사님이 저보다 고수인디... ㅠㅁㅠ

ps. 일어난게 아니고 아직 안자는 겁니다.. ^^*
올나잇 하셨군요~!!^^ 
집에가서 해봐야지......
날사님께서....얼굴만 보이시고~~안보이셔서....
감사합니다..집에가서 해보고,,,보고 하겠습니다^^
아.. 약간 수정해야 될 듯 싶습니다.

  if ($j != 0 && $j%$cb[cb_latest_cols] == 0) { echo "</tr><tr>"; }
이거 바로 뒤에 저걸 넣으면 될 것 같구요.

if ($cn_list[$j] == "갤러리") {
    $cb[cb_latest_cols] = '1'; // 또는 $col_width = '100%';
    echo "</tr><tr>"; // 요걸해줘야만 다음칸으로 내려오겠네요.
}
최근 게시물 소스는 중복이니 필요 없을거 같구요..

아.. 그리고 이건 다른 부분인데..
<table...>
<tr>
<?
....
....
....
...
?>
</tr>
</table>
해야지 테이블 소스가 제대로 완성되지 않을까요? ^^*
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once("$g4[path]/lib/latest.lib.php");
?>
<?
$col_width = 100 / $cb[cb_latest_cols]. "%";

$board    = sql_fetch(" select * from $g4[board_table] where bo_table = '$cb[cb_id]' ");
$cn_list  = explode("|", $board[bo_category_list]);
?>

<table width="100%" border="0">

<?
for ($j=0; $j<count($cn_list); $j++) {
    if (!$cn_list[$j]) { continue; }


  if ($j != 0 && $j%$cb[cb_latest_cols] == 0) { echo "</tr><tr>"; }
  if ($cn_list[$j] == "갤러리") {
 //갤러리 나오는 최근게시물 소스 -- 아래 요게 그 소스가 맞나 모르겠네요..
        $cb[cb_latest_cols] = '1';
echo "</tr><tr>"; // 요걸해줘야만 다음칸으로 내려오겠네요.
echo "<td colspan='2' width='$col_width' height='150' valign='top'>". cb_latest($cb[cb_latest_skin], $cb[cb_id], $cn_list[$j], $cb[cb_latest_rows], $cb[cb_latest_len]). "</td>>\n";
}
else {
$cb[cb_latest_cols] = '2';
echo "<td  width='$col_width' height='150' valign='top'>". cb_latest($cb[cb_latest_skin], $cb[cb_id], $cn_list[$j], $cb[cb_latest_rows], $cb[cb_latest_len]). "</td>\n";


}

}

 ?>
</table>
--------------------이런식으로 했는데..
갤러리최신글 출력한다음부터...테이블이 깨지네요..
링크확인해보시고 도움좀 부탁드립니다

http://sell8282.com/php/club/club_main.php?cb_id=cb_sean#

감사합니다
이런식으로 해보세요...

if ($cn_list[$j] == "갤러리") {
    $cb[cb_latest_cols] = '1'; // 또는 $col_width = '100%';
    if (!($j%$cb[cb_latest_cols] == 0)) {  // $j값이 짝수일때 tr이 2번나올 수 있어서 나머지가 0이 되는지 안되는지 체크 후 trt생성
        echo "</tr><tr>"; // 요걸해줘야만 다음칸으로 내려오겠네요.
    }
} else {
$j-- ; //이게 맞는 표현인지 모르겠네요..
...
}

제 생각에는 갤러리 다음 게시판이 $j 와 $cb[cb_latest_cols] == '2'; 로 인해 ($j%$cb[cb_latest_cols] == 0)이 성립해서 tr이 생성된 것 같습니다. 갤러리 아래쪽에 일반 게시판이 1개 더 있다면..
아마.. 아래처럼 테이블이 짜여질 겁니다.

일반게시판 | 일반게시판
갤러리
일반게시판 |
일반게시판 | 일반게시판

고로 갤러리 이후에 나오는 $j 값을 갤러리 갯수만큼 -1 시켜서 <tr>이 제위치에 나와야할겁니다.
허나 저런식으로 - 하면 될지는 모르겠습니다. ㅠㅁㅠ
-1을 해버려서 이후에 나오는 게시판의 $j값이 맞아 떨어지지 않으니.. 문제내요.. ㅠㅁㅠ
이.. 이걸 어찌해야할지...;;;;
치에님께서 밤새워 수고해주시는군요....^^

이런식으로 해보세요..

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once("$g4[path]/lib/latest.lib.php");
?>
<?
$board    = sql_fetch(" select * from $g4[board_table] where bo_table = '$cb[cb_id]' ");
$cn_list  = explode("|", $board[bo_category_list]);
?>
<table width="100%" border="0">
<?
for ($j=0; $j<count($cn_list); $j++) {
    if (!$cn_list[$j]) { continue; }
    if ($cn_list[$j] == '갤러리') { //한글카테고리를 제대로 인식할지 모르겠군요
$cb[cb_latest_cols] = '1';
$col_width = '100%';
} else {
$cb[cb_latest_cols] = '2';
$col_width = 100 / $cb[cb_latest_cols]. "%";
}
  if ($j != 0 && $j%$cb[cb_latest_cols] == 0) { echo "</tr><tr>"; }
    echo "<td width='$col_width' height='150' valign='top'>". cb_latest($cb[cb_latest_skin], $cb[cb_id], $cn_list[$j], $cb[cb_latest_rows], $cb[cb_latest_len]). "</td>\n";
 
}
?>
</table>
|-----------------|----|
|  1번                  | 2번|
------------------------
1번 <td width=100%>로되는데 2번 <td>가 왼쪽으로 밀려버리네요..ㅛ^^
감사합니다
이런 ... colspan 을 빼묵었네요....^^

아래처럼 해보세요...^^

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once("$g4[path]/lib/latest.lib.php");
?>
<?
$board    = sql_fetch(" select * from $g4[board_table] where bo_table = '$cb[cb_id]' ");
$cn_list  = explode("|", $board[bo_category_list]);
?>
<table width="100%" border="0">
<?
for ($j=0; $j<count($cn_list); $j++) {
    if (!$cn_list[$j]) { continue; }
    if ($cn_list[$j] == '갤러리') { //한글카테고리를 제대로 인식할지 모르겠군요
$cb[cb_latest_cols] = '1';
$col_width = '100%';
$colspan = '2';
} else {
$cb[cb_latest_cols] = '2';
$col_width = 100 / $cb[cb_latest_cols]. "%";
$colspan = '1';
}
  if ($j != 0 && $j%$cb[cb_latest_cols] == 0) { echo "</tr><tr>"; }
    echo "<td colspan='$colspan' width='$col_width' height='150' valign='top'>". cb_latest($cb[cb_latest_skin], $cb[cb_id], $cn_list[$j], $cb[cb_latest_rows], $cb[cb_latest_len]). "</td>\n";
 
}
?>
</table>
감사합니다..
하지만 링크와 같은 현상..
http://sell8282.com/php/club/club_main.php?cb_id=cb_sean#

이렇게 되어야 하거든요
http://sell8282.com/img2.gif
그리고 메뉴를 더 추가하면 갤러리 아래로 두줄씩 정렬이 되어야 하는데
갤러리 다음 매뉴는 한줄로
또 생성하면 한줄 또하나더 생성하면...이부분은 두줄로 정상적으로 출력합니다..
위의 치에님이 말씀하신 현상이 일어납니다..
잠자면서도 궁리해봤는데..답이 안나오네요(__)
제가 사용하지않는것이라서 테스트를 해볼수도 없군요...^^

$cb[cb_latest_cols]  를 클럽에서 지정된 원래의 값을 다시 가져오기때문인것 같네요...
위 소스에서 $cb[cb_latest_cols] 4군데를 그냥 다른 변수명으로 바꿔보세요...^^

예)  $cbt_latest_cols

수정된 소스도 추가합니다... 다시한번 해보세요...^^

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once("$g4[path]/lib/latest.lib.php");

$board    = sql_fetch(" select * from $g4[board_table] where bo_table = '$cb[cb_id]' ");
$cn_list  = explode("|", $board[bo_category_list]);
?>
<table width="100%" border="0">
<?
for ($j=0; $j<count($cn_list); $j++) {
    if (!$cn_list[$j]) { continue; }
    if ($cn_list[$j] == '갤러리') { //한글카테고리를 제대로 인식할지 모르겠군요
$cbt_latest_cols = '1';
$col_width = '100%';
$colspan = '2';
} else {
$cbt_latest_cols = '2';
$col_width = 100 / $cbt_latest_cols. "%";
$colspan = '1';
}
if ($j%$cbt_latest_cols == '0') { echo "</tr><tr>"; }
    echo "<td colspan='$colspan' width='$col_width' height='150' valign='top'>". cb_latest($cb[cb_latest_skin], $cb[cb_id], $cn_list[$j], $cb[cb_latest_rows], $cb[cb_latest_len]). "</td>\n";
 
}
?>
</table>
감사합니다..그런데 위의 소스와 같은 결과가 나오네요~~
완벽하진 않지만 제가원하는 모양은 같추었습니다^^
...원래소스에서,,, 한줄에 두개씩<tr><td  width=50%></td><td width=50%></td></tr> 이렇게 출력되게 되어있습니다..
그런데 갤러리를 <tr><td width=100%></td></tr>로되면서...<치에님소스를 바탕으로> 옆에나와야할최신글이 밑으로 밀리면서...tr><td  width=50%></td></tr>이렇게되면서 한줄로 나오면서..
그다음은 <tr><td  width=50%></td><td width=50%></td></tr>출력됩니다..


예) 원본스스에..
<tr><td  width=50%>공지사항</td><td width=50%>자유게시판</td></tr>
<tr><td  width=50%>인사말</td><td width=50%>초대글</td></tr>
<tr><td  width=50%>갤러리</td><td width=50%>일반게시판</td></tr>
<tr><td  width=50%>일반게시판</td><td width=50%>일반게시판</td></tr>
이런식으로 출력되고요..
치에님소스를 사용하면
<tr><td  width=50%>공지사항</td><td width=50%>자유게시판</td></tr>
<tr><td  width=50%>인사말</td><td width=50%>초대글</td></tr>
<tr><td  width=100%>갤러리</td></tr>
<tr><td width=50%>일반게시판</td></tr><!-- 문제의 이부분이 아래로 밀리면서 단독으로 출력됨-------->
<tr><td  width=50%>일반게시판</td><td width=50%>일반게시판</td></tr>
날사님소스
<tr><td  width=50%>공지사항</td><td width=50%>자유게시판</td></tr>
<tr><td  width=50%>인사말</td><td width=50%>초대글</td></tr>
<tr><td  width=100%>갤러리</td><td 일반게시판</td></tr><!--이부분이 문제가되는 부분입니다..갤러리width가 100%되면서 옆에 게시물이 아주 작아짐--------->
<tr><td  width=50%>일반게시판</td><td width=50%>일반게시판</td></tr>

그래서 치에님소스를 사용하여
tr><td  width=50%>공지사항</td><td width=50%>자유게시판</td></tr>
<tr><td  width=50%>인사말</td><td width=50%>초대글</td></tr>
<tr><td  width=100%>갤러리</td></tr>
<!--아래 최신글을 생성안하고 쓰기로 했습니다^^ ---여기에서  끝내면 정상출력됩니다---------------->
<tr><td width=50%>일반게시판</td></tr><!-- 문제의 이부분이 아래로 밀리면서 단독으로 출력됨-------->
<tr><td  width=50%>일반게시판</td><td width=50%>일반게시판</td></tr>

감사합니다
아래의 소스를 사용하시면 잘 될겁니다....^^
갤러리 이전의 카테고리가 짝수일경우는 원하시는대로 출력될것이고,
홀수일경우는 갤러리 이전에 한부분이 비어있는 형태로 출력될것입니다...없는것을 불러올수는 없으니 ...
갤러리 이후는 정상출력 .... ^^

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once("$g4[path]/lib/latest.lib.php");

$board    = sql_fetch(" select * from $g4[board_table] where bo_table = '$cb[cb_id]' ");
$cn_list  = explode("|", $board[bo_category_list]);
?>
<table width="100%" border="0">
<?
for ($j=0; $j<count($cn_list); $j++) {
    if (!$cn_list[$j]) { continue; }
$cbt_latest_cols = '';
    if ($cn_list[$j] == '갤러리') {
    $j = '1';
$cbt_latest_cols = '1';
$col_width = '100%';
$colspan = '2';
} else {
$cbt_latest_cols = '2';
$col_width = 100 / $cbt_latest_cols. "%";
$colspan = '1';
}
if ($j%$cbt_latest_cols == '0') { echo "</tr><tr>"; }
    echo "<td colspan='$colspan' width='$col_width' height='150' valign='top'>". cb_latest($cb[cb_latest_skin], $cb[cb_id], $cn_list[$j], $cb[cb_latest_rows], $cb[cb_latest_len]). "</td>\n";
 
}
?>
</table>
© SIRSOFT
현재 페이지 제일 처음으로