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

여분필드 관련 질문입니다. 채택완료

원자력장판 9년 전 조회 2,232

게시판 등록으로 메인 배너 표시 여부랑 순서 여부를 관리하는 게시판 스킨을 만들고있습니다.

 

wr_1 는 표시 여부로서 Y/N 라디오버튼으로 Y일때만 메인 배너에 나오게 했습니다.

 

문제는 wr_2 인데요. wr_2는 셀렉트박스를 이용하고 있습니다.

 

wr_2는 순서로서, 배너의 순서를 00, 01 ~ 12 번까지 정해서 순서대로 나오게 하고 싶은데..

 

00 번은 표시 여부가 N일때 쓰고. 01 ~ 12번은 Y일때 쓰는겁니다.

 

여기서 예를 들어서 다른 게시글에서 Y이고 01 ~ 10 번까지 이미 존재한다면..

 

새로 글쓰기에서는 00, 11, 12 번만 선택할 수 있게 하고 싶습니다.

 

그리고 01 ~ 12번 모두 존재한다면 00만 나오게 되겠죠.

 

즉 wr_1이 Y인 글들은 wr_2가 서로 중복이 되지 않게 하고 싶습니다.

 

sql문을 잘 짜야하는것 같은데.. 방법이 떠오르지 않네요.

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

답변 1개

채택된 답변
+20 포인트
w
9년 전

$test_array = array("00","01","02",......,"12"); $result = sql_query(" select wr_2 from 테이블 where wr_1 = 'Y' group by wr_2");

for($i=0; $row = sql_fetch_array($result); $i++){  if(in_array($row['wr_2'], $test_array)){   $key = array_search($row['wr_2'], $test_array);   unset( $test_array[$key] );  } } sort($test_array);

echo ""; 

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

답변에 대한 댓글 2개

원자력장판
9년 전
정말 감사합니다. :)

필요한 부분은 따로 수정하면 될것 같네요.
원자력장판
9년 전
참고로 다른분들이 보실까봐 따로 적자면, 저 소스를 그대로 썼을때 기준으로..

원래 써져있던 글을 수정할때 자신의 글 번호를 가져오지 못하는 문제가 있습니다.

그래서

[code]
$test_array = array("00","01","02","03","04","05","06","07","08","09","10","11","12");
$result = sql_query(" select wr_2 from 테이블 where wr_1 = 'Y' group by wr_2 ");
for($i=0; $row = sql_fetch_array($result); $i++){
if(in_array($row['wr_2'], $test_array)){
if($row['wr_2'] != $write['wr_2']){
$key = array_search($row['wr_2'], $test_array);
unset( $test_array[$key] );
}
}
}
sort($test_array);
echo "<select name='wr_2' required>";
for($i=0; $i < count($test_array); $i++){
if($write['wr_2'] == $test_array[$i]){
echo "<option value='".$test_array[$i]."' selected='selected'>".$test_array[$i]."</option>";
} else {
echo "<option value='".$test_array[$i]."'>".$test_array[$i]."</option>";
}
}
echo "</select>";
[/code]

이런 방식으로 수정해서 쓰지 않는 번호와 자신의 글 번호만 나오게 적용했습니다.

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

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

로그인