채택완료

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

2021-01-29 (금) 10:41:22 2,138

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

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

원신

몬스터헌터

에픽세븐

라그나로크

바이오하자드

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개 / 댓글 5개

채택된 답변
+20 포인트
2021-01-29 (금) 16:39:10
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개

2021-01-29 (금) 17:29:22
마르스컴퍼니님 감사합니다
그런데 원신 몬스터헌터 에픽세븐 이렇게 글을 3개 올렸는데 마지막에 적은 에픽세븐에만 아이콘이 나옵니다..ㅠㅠ
원신 몬스터헌터 에픽세븐 이렇게 3개전부다 나와야하는데..리미트를 풀어버리니 같은 현상이 일어납니다..
2021-01-29 (금) 17:42:39
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개

2021-01-29 (금) 18:19:59
항상 친절한 답변 감사합니다 3개를 글 적었는데 이번에는 아예 아무런 반응이 없습니다..

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

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

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

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

쿼리문에서 

wr_1 = wr_1 

여기가 잘못된 것 같네요 

wr_1 = 'LOL' 

이렇게 되야 검색하겠죠 

답변에 대한 댓글 3개

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

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