테스트 사이트 - 개발 중인 베타 버전입니다

도메인에 따라 호출을 하려 하는데 SQL 질문.. 채택완료

바트컨트롤 3년 전 조회 2,330

제가 코드를 짯는데 sql 부분에서..

조건문(접속도메인)에 따라 호출을 하려하는데.. 

뭐가 오류났는지....혹시 조언을 받을 수 있을까요??ㅜ

</p>

<p><?php

if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가</p>

<p>$sql = " select * from {$g5['slide_table']} where nw_use != '미사용' && ".

if(in_array($sub_domain, $sub_domain_array_anyang)) {

'nw_1 == "true" &&'

}

if(in_array($sub_domain, $sub_domain_array_incheon)) {

'nw_2 == "true" &&'

}

."order by nw_seq asc ";

$result = sql_query($sql, false);

?></p>

<p>

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

답변 3개

채택된 답변
+20 포인트

if(in_array($sub_domain, $sub_domain_array_anyang)) $tmp = 'nw_1 == "true" &&'; if(in_array($sub_domain, $sub_domain_array_incheon)) $tmp = 'nw_2 == "true" &&'; $sql = " select * from {$g5['slide_table']} where nw_use != '미사용' && ".$tmp." order by nw_seq asc ";

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

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

세크티
3년 전

</p>

<pre>
<code><?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$sql = " select * from {$g5['slide_table']} where 1";
$sql_where_array = array();
$sql_where_array[] = "nw_use != '미사용';
if(in_array($sub_domain, $sub_domain_array_anyang)) {
  $sql_where_array[] = "nw_1 = 'true'";
}
if(in_array($sub_domain, $sub_domain_array_incheon)) {
  $sql_where_array[] = "nw_2 = 'true'";
}
 
$sql.=' and '.implode(' and ',$sql_where_array);
$sql.="order by nw_seq asc ";
$result = sql_query($sql, false);
?></code></pre>

<p>

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

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

s
sinbi Expert
3년 전

1.

var_dump($g5['slide_table'])해서 값이 찍히는지 체크해보신 후,

안 찍히면 해당 값이 찍히도록 관련 파일을 인클루드 해보세요.

 

2.

각각의 조건 구문을 바로 연결하지 마시고,

각 조건 해당 구문을 3항 연산자를 이용해 변수처리해 SQL 구문엔 변수 넣어 표현하는 방식으로 수정해 보세요.

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

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

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

로그인