이전글에 sql 작성에 대한 질문글을 올렸었는데 ( http://sir.kr/qa/121366 )
sql 질의는 작성해서 phpmyadmin에서 테스트를 완료했습니다 (이전꺼는 잘못된부분 수정했습니다)
그리고 완성후에 그누보드에 출력을 해야하는데
출력을 어떻게 해야할지 모르겠습니다.
head파일의 메인메뉴 출력에서 쓰이는 sql을 복사해서 참고하여 수정해봤는데
아무것도 출력이 되지않네요
Copy
SELECT * FROM `g5_게시판A테이블` o1 WHERE o1.WR_10=some(SELECT WR_15 FROM `게시판B테이블` am WHERE am.WR_2=am.WR_4)
↑SQL쿼리에서 돌린 질의입니다
Copy
<?php $sql33 = "SELECT * FROM `게시판A테이블` o1 WHERE o1.WR_10=some(SELECT WR_15 FROM `게시판B테이블` am WHERE am.WR_2=am.WR_4)"; $result33 = sql_query($sql33); for ($k=0; $row33=sql_fetch_array($result33); $k++) { if($k == 0) echo '<ul class="gnb_2dul">'.PHP_EOL; ?> <li class="gnb_2dli"><a href="<?php echo $row33['wr_1']; ?>" target="_<?php echo $row33['wr_2']; ?>" class="gnb_2da"><?php echo $row33['wr_10'] ?></a></li> <?php } if($k > 0) echo '</ul>'.PHP_EOL; ?> </li> <?php if ($i == 0) { ?> <li id="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <br><a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 > 환경설정 > 메뉴설정</a>에서 설정하실 수 있습니다.<?php } ?></li> <?php } ?>
↑ head파일을 보고 약간 수정한 코드입니다
Copy
<?php $sql = " select * from {$g5['menu_table']} where me_use = '1' and length(me_code) = '2' order by me_order, me_id "; $result = sql_query($sql, false); $gnb_zindex = 999; // gnb_1dli z-index 값 설정용 for ($i=0; $row=sql_fetch_array($result); $i++) { ?> <li class="gnb_1dli" style="z-index:<?php echo $gnb_zindex--; ?>"> <a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="gnb_1da"><?php echo $row['me_name'] ?></a> <?php $sql2 = " select * from {$g5['menu_table']} where me_use = '1' and length(me_code) = '4' and substring(me_code, 1, 2) = '{$row['me_code']}' order by me_order, me_id "; $result2 = sql_query($sql2); for ($k=0; $row2=sql_fetch_array($result2); $k++) { if($k == 0) echo '<ul class="gnb_2dul">'.PHP_EOL; ?> <li class="gnb_2dli"><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>" class="gnb_2da"><?php echo $row2['me_name'] ?></a></li> <?php } if($k > 0) echo '</ul>'.PHP_EOL; ?> </li> <?php } if ($i == 0) { ?> <li id="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <br><a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 > 환경설정 > 메뉴설정</a>에서 설정하실 수 있습니다.<?php } ?></li> <?php } ?>
↑head파일의 원래 코드입니다
B게시판의 여분필드 2와 4를 비교하여 값이 같으면
해당 글의 여분필드 15를 A게시판의 여분필드 10과 비교하고 값이 같다면
해당 A게시판의 글 여분필드 1~5까지를 출력하려고 합니다
sql 질의로 해보니 셀렉트로 여러개출력하는건 간단하게 ,로 되던데 내용 자체가 안나오니 잘 모르겠네요..
혹시 아시는분 계시다면 가르침좀 부탁드립니다
답변 2개
9년 전
접속아이디 비교도 수정완료했습니다....
http://www.opencode.co.kr/bbs/board.php?bo_table=g4_100&wr_id=22
여기 글 보고 조금씩 수정하면서 해봤더니 됐습니다
9년 전
해결했습니다..
Copy
<?php $sql = "SELECT *\n" . " FROM `A` o1\n" . " WHERE o1.WR_10=some(SELECT WR_15\n" . " FROM `B` am \n" . " WHERE am.WR_4=(SELECT $list[$i]['mb_id'] FROM q5_member)) LIMIT 0, 30 "; $result = sql_query($sql, false); for ($i=0; $row=sql_fetch_array($result); $i++) { echo $row['wr_1']; echo $row['wr_2']; echo $row['wr_10'] ?> <?php } ?>
계속 시행착오를 반복하다가 이런식으로 수정했더니 출력이 되네요
여기서 비교할때 접속한 자신의 아이디를 비교하려는데 혹시 아시는분 안계실까요..
답변을 작성하려면 로그인이 필요합니다.