새글아이콘 쿼리문좀 봐주세요

새글아이콘 쿼리문좀 봐주세요

QA

새글아이콘 쿼리문좀 봐주세요

본문

매번 친절한 답변에 감사합니다

 

메인페이지 좌측에 메뉴를 만들었습니다

 

원신

몬스터헌터

에픽세븐

라그나로크

바이오하자드

LOL

 

game 이라는 게시판에 새글이 올라가면 좌측메뉴에 새글아이콘을 넣을려고하는데 잘 안됩니다

wr_1 여분필드에 메뉴랑 같은 게임이름이 저장됩니다

 

wr_1 = LOL 이 있으면 해당 wr_datetime에서 가장 최신순 1개를 가져와라

이건데 글을 작성하면 무조건 마지막 1개만 가져옵니다 그래서 limit 갯수를 늘이면

메뉴가 해당 갯수만큼 늘어납니다 ㅠㅠ

 

카운트값으로 도 해보고 이거 저거 해보았지만 도저히 모르겠습니다 조금만 알려주시면 감사하겠습니다

 

<?php

$sql = " select wr_1 from g5_write_game where wr_is_comment = '0' and wr_1 = wr_1 order by wr_datetime desc limit 0, 1 ";
$result = sql_query($sql);

?>

<div class="game">

<ul>

<?php
        for ($i=0; $row=sql_fetch_array($result); $i++)
        {
    ?>
<li class="half">
            <a href="<?php echo G5_BBS_URL;?>/board.php?bo_table=game">원신</a>
                <?php if($row['wr_1'] == "원신") { ?>
                    <img src="/skin/board/game/img/icon_new.gif">
                <?php } ?>
            </a>
        </li>

<li class="half">
            <a href="<?php echo G5_BBS_URL;?>/board.php?bo_table=game">몬스터헌터</a>
                <?php if($row['wr_1'] == "몬스터헌터") { ?>
                    <img src="/skin/board/game/img/icon_new.gif">
                <?php } ?>
            </a>
        </li>

<li class="half">
            <a href="<?php echo G5_BBS_URL;?>/board.php?bo_table=game">에픽세븐</a>
                <?php if($row['wr_1'] == "에픽세븐") { ?>
                    <img src="/skin/board/game/img/icon_new.gif">
                <?php } ?>
            </a>
        </li>

<li class="half">
            <a href="<?php echo G5_BBS_URL;?>/board.php?bo_table=game">라그나로크</a>
                <?php if($row['wr_1'] == "라그나로크") { ?>
                    <img src="/skin/board/game/img/icon_new.gif">
                <?php } ?>
            </a>
        </li>

<li class="half">
            <a href="<?php echo G5_BBS_URL;?>/board.php?bo_table=game">바이오하자드</a>
                <?php if($row['wr_1'] == "바이오하자드") { ?>
                    <img src="/skin/board/game/img/icon_new.gif">
                <?php } ?>
            </a>
        </li>

<li class="half">
            <a href="<?php echo G5_BBS_URL;?>/board.php?bo_table=game">LOL</a>
                <?php if($row['wr_1'] == "LOL") { ?>
                    <img src="/skin/board/game/img/icon_new.gif">
                <?php } ?>
            </a>
        </li>

</ul>

</div>

이 질문에 댓글 쓰기 :

답변 3


$sql = " 
  select wr_1 
    from g5_write_game 
   where wr_is_comment = '0' 
     and wr_ 1 in ('원신', '몬스터헌터', '에픽세븐', '라그나로크', '바이오하자드', 'LOL')     
   order by wr_datetime desc 
   limit 1
";

마르스컴퍼니님 감사합니다
그런데 원신 몬스터헌터 에픽세븐 이렇게 글을 3개 올렸는데 마지막에 적은 에픽세븐에만 아이콘이 나옵니다..ㅠㅠ
원신 몬스터헌터 에픽세븐 이렇게 3개전부다 나와야하는데..리미트를 풀어버리니 같은 현상이 일어납니다..

쿼리문에서 

wr_1 = wr_1 

여기가 잘못된 것 같네요 

wr_1 = 'LOL' 

이렇게 되야 검색하겠죠 

당연히 변수를 넣으셔야죠
wr_1 = wr_1 은 필드값과 필드값이 같을때를 의미하므로
무조건 true 니까요 그러니까 모든 데이터를 기준으로 한개만 limit 되는거겠죠


<?php
$sql = " 
  select wr_1 
    from g5_write_game 
   where wr_is_comment = '0' 
     and wr_ 1 in ('원신', '몬스터헌터', '에픽세븐', '라그나로크', '바이오하자드', 'LOL')    
     and wr_datetime > now() - interval 12 hour  
   order by wr_datetime desc 
   limit 100
";
$result = sql_query($sql);
while ($row = sql_fetch_array($result)) {
    if ($row['wr_1'] == '원신')
        $new_1 = true;
    else if ($row['wr_1'] == '몬스터헌터')
        $new_2 = true;
    else if ($row['wr_1'] == '에픽세븐')
        $new_3 = true;
    else if ($row['wr_1'] == '라그나로크')
        $new_4 = true;
    else if ($row['wr_1'] == '바이오하자드')
        $new_5 = true;
    else if ($row['wr_1'] == 'LOL')
        $new_6 = true;    
}
?>
<div class="game">
<ul>

<li class="half">
            <a href="<?php echo G5_BBS_URL;?>/board.php?bo_table=game">원신</a>
                <?php if($new_1) { ?>
                    <img src="/skin/board/game/img/icon_new.gif">
                <?php } ?>
            </a>
        </li>
<li class="half">
            <a href="<?php echo G5_BBS_URL;?>/board.php?bo_table=game">몬스터헌터</a>
                <?php if($new_2) { ?>
                    <img src="/skin/board/game/img/icon_new.gif">
                <?php } ?>
            </a>
        </li>
<li class="half">
            <a href="<?php echo G5_BBS_URL;?>/board.php?bo_table=game">에픽세븐</a>
                <?php if($new_3) { ?>
                    <img src="/skin/board/game/img/icon_new.gif">
                <?php } ?>
            </a>
        </li>
<li class="half">
            <a href="<?php echo G5_BBS_URL;?>/board.php?bo_table=game">라그나로크</a>
                <?php if($new_4) { ?>
                    <img src="/skin/board/game/img/icon_new.gif">
                <?php } ?>
            </a>
        </li>
<li class="half">
            <a href="<?php echo G5_BBS_URL;?>/board.php?bo_table=game">바이오하자드</a>
                <?php if($new_5) { ?>
                    <img src="/skin/board/game/img/icon_new.gif">
                <?php } ?>
            </a>
        </li>
<li class="half">
            <a href="<?php echo G5_BBS_URL;?>/board.php?bo_table=game">LOL</a>
                <?php if($new_6) { ?>
                    <img src="/skin/board/game/img/icon_new.gif">
                <?php } ?>
            </a>
        </li>
</ul>
</div>

항상 친절한 답변 감사합니다 3개를 글 적었는데 이번에는 아예 아무런 반응이 없습니다..

제가 오토셋으로 해서 그런건 아닌거 같은데 말입니다

아까 알려주신걸로는 최신1개는 잘 나왔거든요...ㅠㅠ

제가 시간부분인가 싶어서 and wr_datetime > DATE_SUB(NOW(), INTERVAL 1 day) 로도 해봤는데

같습니다..죄송합니다 제가 아직 많이 부족해서 가르침을 잘 받지를 못하네요..

답변을 작성하시기 전에 로그인 해주세요.
전체 135
QA 내용 검색

회원로그인

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