새글아이콘 쿼리문좀 봐주세요 채택완료

4년 전 조회 2,021

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

 

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

 

원신

몬스터헌터

에픽세븐

라그나로크

바이오하자드

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개

채택된 답변
+20 포인트

Copy
$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

";
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

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

댓글을 작성하려면 로그인이 필요합니다.

Copy
<?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>
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

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

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

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

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

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

댓글을 작성하려면 로그인이 필요합니다.

쿼리문에서 

wr_1 = wr_1 

여기가 잘못된 것 같네요 

wr_1 = 'LOL' 

이렇게 되야 검색하겠죠 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

wr_1이게 여분필드값인데 쿼리문에서 wr_1 ='LOL' 을 강제로 넣으면 하나만 출력이 되잖아요..
당연히 변수를 넣으셔야죠
wr_1 = wr_1 은 필드값과 필드값이 같을때를 의미하므로
무조건 true 니까요 그러니까 모든 데이터를 기준으로 한개만 limit 되는거겠죠
아..변수를 넣어봤는데도 이상하게 안됩니다 ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고