목록에서 추천 아이콘을 누르면 wr_3 필드에 값이 'y'인 목록만 보이게 하고 싶습니다 > 그누4 질문답변

그누4 질문답변

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

목록에서 추천 아이콘을 누르면 wr_3 필드에 값이 'y'인 목록만 보이게 하고 싶습니다 정보

목록에서 추천 아이콘을 누르면 wr_3 필드에 값이 'y'인 목록만 보이게 하고 싶습니다

본문

sitelink skin의 마지막 부분 정리하고 있습니다.
 
wr_2, wr_3 필드에 'y' 값이 있으면 파워사이트, 추천사이트로 설정했습니다.
 
리스트에 나오는 "추천" 이미지 아이콘을 누르면 wr_3 필드에 값이 'y'인 목록만
보이게 하고 싶습니다. 어떻게 해야 할까요? SQL을 쓰지 않고 기본기능만으로
가능할까요?
 
sitelink를 마무리할 수 있게 도움 부탁드립니다.
 
 
** 아래는 제가 작성한 list.skin.php 입니다 **
 
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
function get_bo_5_option($bo_table)
{
    global $g4;
    $sql = " select bo_5 from $g4[board_table] where bo_table = '$bo_table' ";
    $row = sql_fetch($sql);
    $arr = explode("|", $row[bo_5]); // 구분자가 , 로 되어 있음
    $str = "";
    for ($i=0; $i<count($arr); $i++)
        if (trim($arr[$i]))
            $str .= "<option value='$arr[$i]'>$arr[$i]</option>\n";
    return $str;
}
// 분류 사용 여부  list.php
$is_category = false;
if ($board[bo_use_category]) {
    $is_category = true;
    $category_location = "./board.php?bo_table=$bo_table";
    $bo_5_option = get_bo_5_option($bo_table); // SELECT OPTION 태그로 넘겨받음
}

// 선택옵션으로 인해 셀합치기가 가변적으로 변함
$colspan = 9;
if ($is_category) $colspan++;
if ($is_checkbox) $colspan++;
if ($is_good) $colspan++;
if ($is_nogood) $colspan++;
function get_bo_4_option($bo_table)
{
    global $g4;
    $sql = " select bo_4 from $g4[board_table] where bo_table = '$bo_table' ";
    $row = sql_fetch($sql);
    $arr = explode("|", $row[bo_4]); // 구분자가 , 로 되어 있음
    $str = "";
    for ($i=0; $i<count($arr); $i++)
        if (trim($arr[$i]))
            $str .= "<option value='$arr[$i]'>$arr[$i]</option>\n";
    return $str;
}
// 분류 사용 여부  list.php
$is_category = false;
if ($board[bo_use_category]) {
    $is_category = true;
    $category_location = "./board.php?bo_table=$bo_table";
    $bo_4_option = get_bo_4_option($bo_table); // SELECT OPTION 태그로 넘겨받음
}
// 선택옵션으로 인해 셀합치기가 가변적으로 변함
$colspan = 9;
if ($is_category) $colspan++;
if ($is_checkbox) $colspan++;
if ($is_good) $colspan++;
if ($is_nogood) $colspan++;
 
// 선택옵션으로 인해 셀합치기가 가변적으로 변함
// $colspan = 6;
// if ($is_category) $colspan++;
// if ($is_checkbox) $colspan++;
// if ($is_good) $colspan++;
// if ($is_nogood) $colspan++;
// 제목이 두줄로 표시되는 경우 이 코드를 사용해 보세요.
// <nobr style='display:block; overflow:hidden; width:000px;'>제목</nobr>
?>
<!-- 게시판 목록 시작 -->
<table width="<?=$width?>" align=center cellpadding=0 cellspacing=0><tr><td>
<!-- 분류 셀렉트 박스, 게시물 몇건, 관리자화면 링크 -->
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
    <? if ($is_category) { ?>
    <form name="fcategory" method="get">
       <td width="50%">
       <a href="<?=$g4[bbs_path]?>/board.php?bo_table=<?=$bo_table?>"><img src="<?=$board_skin_path?>/img/btn_list.gif" border="0" align=absmiddle></a>
       <select name=sca onchange="location='<?=$category_location?>&sca='+this.value+'&wr_5='+this.form.wr_5.value+'&wr_4='+this.form.wr_4.value;"><option value=''>분류선택</option><?=$category_option?></select>
       <select name=wr_4 onchange="location='<?=$category_location?>&sca='+this.form.sca.value+'&wr_5='+this.form.wr_5.value+'&wr_4='+this.value;"><option value=''>지역선택</option><?=$bo_4_option?></select>
      <select name=wr_5 onchange="location='<?=$category_location?>&sca='+this.form.sca.value+'&wr_4='+wr_4.value+'&wr_5='+this.value;"><option value=''>배송선택</option><?=$bo_5_option?></select>
       </td>
    </form>
    <? } ?>
<!-- 버튼 링크 -->
<form name=fsearch1 method=get style="margin:0px;">
<input type=hidden name=bo_table value="<?=$bo_table?>">
<input type=hidden name=sca      value="<?=$sca?>">
    <td align="right">
        <select name=sfl>
            <option value='wr_subject||wr_content'>제목+내용</option>
            <option value='wr_subject'>제목</option>
            <option value='wr_content'>내용</option>
            <option value='mb_id,1'>회원아이디</option>
            <option value='mb_id,0'>회원아이디(코)</option>
            <option value='wr_name,1'>이름</option>
            <option value='wr_name,0'>이름(코)</option>
        </select><input name=stx maxlength=15 size=10 itemname="검색어" required value='<?=$stx?>'><select name=sop>
            <option value=and>and</option>
            <option value=or>or</option>
        </select>
        <input type=image src="<?=$board_skin_path?>/img/search_btn.gif" border=0 align=absmiddle></td>
</form>
</tr>
<tr><td height=5></td>
</tr>
</table>
<!-- 제목 -->
<form name="fboardlist" method="post" style="margin:0px;">
<input type='hidden' name='bo_table' value='<?=$bo_table?>'>
<input type='hidden' name='sfl'  value='<?=$sfl?>'>
<input type='hidden' name='stx'  value='<?=$stx?>'>
<input type='hidden' name='spt'  value='<?=$spt?>'>
<input type='hidden' name='page' value='<?=$page?>'>
<input type='hidden' name='sw'   value=''>
<table width=100% cellpadding=0 cellspacing=0>
<tr><td colspan=<?=$colspan?> height=2 bgcolor=#B0ADF5></td></tr>
<tr bgcolor=#F8F8F9 height=30 align=center>
    <td width=50>번호</td>
    <? if ($is_category) { ?><td width=70>분류</td><?}?>
    <? if ($is_checkbox) { ?><td width=40><INPUT onclick="if (this.checked) all_checked(true); else all_checked(false);" type=checkbox></td><?}?>
    <td>제목</td>
    <? if ($board['bo_8']=="on") { ?>
    <td width=110>평가점수</td>
    <? } else { ?>
<!--
    <td width=110>글쓴이</td>
-->
    <? } ?>
<!--
    <td width=40><?=subject_sort_link('wr_datetime', $qstr2, 1)?>날짜</a></td>
-->
    <td width=40><?=subject_sort_link('wr_hit', $qstr2, 1)?>조회</a></td>
    <td width=40 title='마지막 코멘트 쓴 시간'><?=subject_sort_link('wr_last', $qstr2, 1)?>최근</a></td>
    <? if ($is_good) { ?><td width=40><?=subject_sort_link('wr_good', $qstr2, 1)?>추천</a></td><?}?>
    <? if ($is_nogood) { ?><td width=40><?=subject_sort_link('wr_nogood', $qstr2, 1)?>비추천</a></td><?}?>
</tr>
<tr><td colspan=<?=$colspan?> height=1 bgcolor=#B0ADF5></td></tr>
<!-- 목록 -->
<? for ($i=0; $i<count($list); $i++) { ?>
<tr height=28 align=center>
    <td>
        <?
        if ($list[$i][is_notice]) // 공지사항
            echo "<img src=\"$board_skin_path/img/notice_icon.gif\" width=30 height=16>";
        else if ($wr_id == $list[$i][wr_id]) // 현재위치
            echo "<font color='#2C8CB9'><strong>{$list[$i][num]}</strong>";
        else
            echo "{$list[$i][num]}";
        ?></td>
    <? if ($is_category) { ?><td><a href="<?=$list[$i][ca_name_href]?>"><font color=gray><?=$list[$i][ca_name]?></font></a></td><? } ?>
    <? if ($is_checkbox) { ?><td><input type=checkbox name=chk_wr_id[] value="<?=$list[$i][wr_id]?>"></td><? } ?>
    <td align=left style='word-break:break-all;'>
        <?
        echo $nobr_begin;
        echo $list[$i][reply];
        echo $list[$i][icon_reply];
        echo "<a href='{$list[$i][href]}'>";
        if ($list[$i][is_notice])
            //echo "<font color='#AF6BE3'><strong>{$list[$i][subject]}</strong></font>";
            echo "<font color='#333333'><strong>{$list[$i][subject]}</strong></font>";
        else
        {
            $style1 = $style2 = "";
            // 최신글은 검정
            //if ($list[$i][icon_new]) $style1 = "color:#222222;";
            // 코멘트 없는것만 굵게
            //if (!$list[$i][comment_cnt]) $style2 = "text-decoration:underline;";
            echo "<span style='$style1 $style2'>{$list[$i][subject]}</span>";
        }
        echo "</a>";
        echo "       <font color=gray>[{$list[$i][wr_4]}/{$list[$i][wr_5]}]</font>";
        if ($list[$i][comment_cnt])
            echo " <a href=\"{$list[$i][comment_href]}\"><span style='font-size:7pt;color:#ff6600;'>{$list[$i][comment_cnt]}</span></a>";
        // if ($list[$i]['link']['count']) { echo "[{$list[$i]['link']['count']}]"; }
        // if ($list[$i]['file']['count']) { echo "<{$list[$i]['file']['count']}>"; }
        //echo " " . $list[$i][icon_new];
        echo " " . $list[$i][icon_file];
        echo " " . $list[$i][icon_hot];
        echo " " . $list[$i][icon_secret];
       
        if ($list[$i]['wr_2']=='y') { echo "<img src='$board_skin_path/img/icon_level02.gif' border=0 align=absmiddle> ";};       
        if ($list[$i]['wr_3']=='y') { echo "<img src='$board_skin_path/img/icon_level03.gif' border=0 align=absmiddle>";};
        echo "   <a href='{$list[$i][link][1]}' target=_blank>" . $list[$i][icon_link] . "</a>";
        echo "<br>";
       
        $view_subj = cut_str($list[$i][wr_content], 70);
      echo "<font color=black>{$view_subj}</font>";
        echo $nobr_end;
        ?></td>
       
<!-- 평가점수 -->
    <? if ($board['bo_8']=="on") {
        $arr = explode("|",$view[wr_8]); //여유필드8 이용
        if ($arr[0] == 10) {$average_score = 10;} else if ($arr[0] == 0) {$average_score = 0;} else {$average_score = number_format($arr[0],2);} //평균점수
        $tm_count = number_format($arr[1]); //참여인원
        $total_point = number_format($arr[3]); //포인트합계
        $ment = "<strong>{$average_score}</strong>/10 ({$tm_count}명 참여)";
        echo "<td>".percentage_graph($average_score,'10',$board_skin_path). "$ment</td>";
    } else { ?>
<!--
        <td><?=$list[$i][name]?></td>   
-->
    <? } ?>
<!--   
    <td><?=$list[$i][datetime2]?></td>
-->
    <td><?=$list[$i][wr_hit]?></td>
    <td><?=$list[$i][last2]?></td>
    <? if ($is_good) { ?><td align="center"><?=$list[$i][wr_good]?></td><? } ?>
    <? if ($is_nogood) { ?><td align="center"><?=$list[$i][wr_nogood]?></td><? } ?>
</tr>
<tr><td colspan=<?=$colspan?> height=1 bgcolor=#E7E7E7></td></tr>
<?}?>
<? if (count($list) == 0) { echo "<tr><td colspan='$colspan' height=100 align=center>게시물이 없습니다.</td></tr>"; } ?>
<tr><td colspan=<?=$colspan?> bgcolor=#5C86AD height=1></td></tr>
</table>
</form>
<!-- 페이지 -->
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
    <td width="100%" align="center" height=30 valign=bottom>
        <? if ($prev_part_href) { echo "<a href='$prev_part_href'><img src='$board_skin_path/img/btn_search_prev.gif' border=0 align=absmiddle title='이전검색'></a>"; } ?>
        <?
        // 기본으로 넘어오는 페이지를 아래와 같이 변환하여 이미지로도 출력할 수 있습니다.
        //echo $write_pages;
        $write_pages = str_replace("처음", "<img src='$board_skin_path/img/begin.gif' border='0' align='absmiddle' title='처음'>", $write_pages);
        $write_pages = str_replace("이전", "<img src='$board_skin_path/img/prev.gif' border='0' align='absmiddle' title='이전'>", $write_pages);
        $write_pages = str_replace("다음", "<img src='$board_skin_path/img/next.gif' border='0' align='absmiddle' title='다음'>", $write_pages);
        $write_pages = str_replace("맨끝", "<img src='$board_skin_path/img/end.gif' border='0' align='absmiddle' title='맨끝'>", $write_pages);
        $write_pages = preg_replace("/<span>([0-9]*)<\/span>/", "<b><font style=\"font-family:돋움; font-size:9pt; color:#797979\">$1</font></b>", $write_pages);
        $write_pages = preg_replace("/<b>([0-9]*)<\/b>/", "<b><font style=\"font-family:돋움; font-size:9pt; color:orange;\">$1</font></b>", $write_pages);
        ?>
        <?=$write_pages?>
        <? if ($next_part_href) { echo "<a href='$next_part_href'><img src='$board_skin_path/img/btn_search_next.gif' border=0 align=absmiddle title='다음검색'></a>"; } ?>
    </td>
</tr>
</table>
<!-- 버튼 링크 -->
<form name=fsearch method=get style="margin:0px;">
<input type=hidden name=bo_table value="<?=$bo_table?>">
<input type=hidden name=sca      value="<?=$sca?>">
<table width=100% cellpadding=0 cellspacing=0>
<tr>
    <td width="50%" height="40">
        <? if ($list_href) { ?><a href="<?=$list_href?>"><img src="<?=$board_skin_path?>/img/btn_list.gif" border="0"></a><? } ?>
        <? if ($write_href) { ?><a href="<?=$write_href?>"><img src="<?=$board_skin_path?>/img/btn_write.gif" border="0"></a><? } ?>
        <? if ($is_checkbox) { ?>
            <a href="javascript:select_delete();"><img src="<?=$board_skin_path?>/img/btn_select_delete.gif" border="0"></a>
            <a href="javascript:select_copy('copy');"><img src="<?=$board_skin_path?>/img/btn_select_copy.gif" border="0"></a>
            <a href="javascript:select_copy('move');"><img src="<?=$board_skin_path?>/img/btn_select_move.gif" border="0"></a>
        <? } ?>
    </td>
<!--   
    <td width="50%" align="right">
        <select name=sfl>
            <option value='wr_subject||wr_content'>제목+내용</option>
            <option value='wr_subject'>제목</option>
            <option value='wr_content'>내용</option>
            <option value='mb_id,1'>회원아이디</option>
            <option value='mb_id,0'>회원아이디(코)</option>
            <option value='wr_name,1'>이름</option>
            <option value='wr_name,0'>이름(코)</option>
        </select><input name=stx maxlength=15 size=10 itemname="검색어" required value='<?=$stx?>'><select name=sop>
            <option value=and>and</option>
            <option value=or>or</option>
        </select>
        <input type=image src="<?=$board_skin_path?>/img/search_btn.gif" border=0 align=absmiddle></td>
-->
        <td height=25 align="right"><font class=w_font>게시물 <?=number_format($total_count)?>건</font>
        <? if ($admin_href) { ?><a href="<?=$admin_href?>"><img src="<?=$board_skin_path?>/img/admin_button.gif" title="관리자" width="63" height="22" border="0" align="absmiddle"></a><? } ?></td>
</tr>
</table>
</form>
</td></tr></table>
<script language="JavaScript">
if ('<?=$sca?>') document.fcategory.sca.value = '<?=$sca?>';
if ('<?=$stx?>') {
    document.fsearch1.sfl.value = '<?=$sfl?>';
    document.fsearch1.sop.value = '<?=$sop?>';
}
</script>
<? if ($is_checkbox) { ?>
<script language="JavaScript">
function all_checked(sw)
{
    var f = document.fboardlist;
    for (var i=0; i<f.length; i++) {
        if (f.elements[i].name == "chk_wr_id[]")
            f.elements[i].checked = sw;
    }
}
function check_confirm(str)
{
    var f = document.fboardlist;
    var chk_count = 0;
    for (var i=0; i<f.length; i++) {
        if (f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked)
            chk_count++;
    }
    if (!chk_count) {
        alert(str + "할 게시물을 하나 이상 선택하세요.");
        return false;
    }
    return true;
}
// 선택한 게시물 삭제
function select_delete()
{
    var f = document.fboardlist;
    str = "삭제";
    if (!check_confirm(str))
        return;
    if (!confirm("선택한 게시물을 정말 "+str+" 하시겠습니까?\n\n한번 "+str+"한 자료는 복구할 수 없습니다"))
        return;
    f.action = "./delete_all.php";
    f.submit();
}
// 선택한 게시물 복사 및 이동
function select_copy(sw)
{
    var f = document.fboardlist;
    if (sw == "copy")
        str = "복사";
    else
        str = "이동";
                      
    if (!check_confirm(str))
        return;
    var sub_win = window.open("", "move", "left=50, top=50, width=396, height=550, scrollbars=1");
    f.sw.value = sw;
    f.target = "move";
    f.action = "./move.php";
    f.submit();
}
</script>
<? } ?>
<!-- 게시판 목록 끝 -->

댓글 전체

제가 너무 어렵게 생각했어요.

어차피 wr_2, wr_3 필드에 값이 들어가면 null이 아니게 되므로 sort를 하는 경우 위쪽으로 나타나게 됩니다. 따라서, 간단하게 해결되네요. ㅋㅋ

포인트는 관심에 대한 선물 입니다. ㅋㅋ

<?=subject_sort_link('wr_2', $qstr2, 1)?><img src="<?=$board_skin_path?>/img/icon_level02.gif" border="0" align=absmiddle></a>
추천해주는 팁 나름대로 유용히 썼어요. 그걸 이용해서 추천상품, 인기상품, 품절상품 같은 것을 등록할 수 있을거에요. 필드하나에 입력글자를 달리해서... ㅋㅋ
호호호... ^^ 마침 저도 그런작업하는데...  ^^  덕분에 유용하게 쓸게요..

참고로..사실 $sca 방식으로도 구현했는데요.. 막상 구사할려면 
전체스킨을 변경해야되요.. ㅎㅎ.
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT