특정 권한 이상의 회원중 이름을 Drop Down 메뉴로 골라 입력하려면... > 그누3질답

그누3질답

특정 권한 이상의 회원중 이름을 Drop Down 메뉴로 골라 입력하려면... 정보

특정 권한 이상의 회원중 이름을 Drop Down 메뉴로 골라 입력하려면...

본문

지금 확장필드를 5개 더해서 10개를 만들어 놨습니다.
첫번째 확장 필드에 이름을 넣는 곳으로 지정해놨습니다.

관리자가 게시물 하나를 올릴 때 권한 5인 회원의 이름
(아이디가 아니고)중 하나를 Drop Down 메뉴로 골라서
이 첫번째 확장필드에 입력을 하려면 어떻게 해야 하나요?
그리고 이 게시물에 입력된 회원과 로긴한 회원아이디가
같다면  이 게시물을 수정할 수 있게 하려면 어떻게
해야할지...

밑에는 제가 질답란에 나온거 보고 아는 거 총동원해서
해본건데요 Drop Down 메뉴에 관리자아이디 밖에
안나와요. 도와주세요 고수님들..

<select name="wr_10">
<option value="<? if ($member["mb_id"] || $member[mb_level] ==5){echo "$member[mb_name]";}?>" <? if( $write[wr_10] == "<?=$member[mb_name]?>" ) echo("selected"); ?>><?=$member[mb_name]?></option>
</select>

P.S.: 텍와이드님 이글 읽으시면 조언부탁드리겠습니다.

댓글 전체

오리궁디님... 제가 문제을 이해하지 못 하어 자세한 설명이 필요합니다.
어쨌든 잘못된 코드를 수정합니다.

<select name="wr_10">
<option value="<? if ($member["mb_id"] && $member[mb_level] ==5) { echo "$member[mb_name]";}?>" <? if( $write[wr_10] == "$member[mb_name]" ) echo("selected"); ?>><?=$member[mb_name]?></option>
</select>

이렇게 되야 하지 않을까 합니다...

그런데 문제는 멤버 레벨이 5가 아니면

<select name="wr_10">
<option value="">홍길똥</option>
</select>

이렇게 되기 싶습니다.

아마 제가 문제를 이해하지 못해서 이상해 진것 같습니다.
첫번째 여분 필드를 이름으로 만들어 놨는데
여기에 권한이 5인 회원중의 한명의 이름을
Drop Down 메뉴로 골라 넣는 걸 연구(?)하고
있습니다.

이런 경우가 필요할 수 있다고 생각되는 것이
예를들어 영업원이 10명 있다고 했을 때
이 영업들이 각자가 팔 물건을 게시판에
올려야 되는데 바빠서 그럴 시간이 없을 경우
여직원이 관리자로 로그인해 대신해서 각
영업원의 물건을 게시판에 올리는 경우
영업원의 이름을 올려야 하겠지요.

그런 경우 여직원이 일일히 이름을 적어
넣기 보다는 Drop Down 메뉴로 골라서
넣는 다면 훨씬 쉬울거라는 생각이 드네요.


그런데 이렇게 하면 단점이 있다는 걸 알았어요
그누보드에서 해당 회원이 로그인해서
글을 올리면 <?=$name?>의 변수가
글 작성자의 이름을 보여주잔아요. 그리고
그이름을 클릭하면 그 작성자가 게시한
게시물을 검색하거나 쪽지보내거나 하는
Layer 메뉴가 뜨는데 위의 방법으로 하면
이름은 뜨더라도 이 레이어 메뉴가 뜨지
않을거라는 생각이 듭니다.

지금 궁극적으로 구현해보고자 하는 기능은
관리자가 로그인해 게시물을 올리고
이 게시자이름이 관리자 이름 대신에
권한 5인 회원 중의 한명의 이름으로 대치하고
Layer 메뉴기능을 쓸 방법이 있을까요.

이제 제법 그누보드를 안다고 너무 복잡한
질문을 드리지 않았나 모르겠네요.

그런데 위와 같은 상황이면 꼭 필요할 기능
일것 같습니다.

텍와이드님께 너무 어려운 숙제를 드린거
같아 죄송스럽습니다.^^

제가 제대로 질문을 올렸는지 모르겠습니다.

어제 올려주신 답은 제가 만든 구문과
마찬가지로 관리자 이름밖에 안나오네요.
아 그렇군요. 그런 의도시라면 이렇게 해야 하겠네요.

<?
$sql = " select mb_name from $cfg[member_table] where mb_level = 5 ";
$result = sql_query($sql);
$str = "";
while ($row = mysql_fetch_array($result)) {
    $str .= "<option value='$row[mb_name]'>$row[mb_name]</option>\n";
}
mysql_free_result($result);
?>
<select name="wr_10">
<?=$str?>
</select>
고맙습니다..금방 답변을 주셨군요.

적용을 해보았더니..

1064 : 'SQL 구문에 오류가 있습니다.' 에러 같읍니다. ('where mb_level = 5' 명령어 라인 1)

라고 에러가 뜨는데요.. 그리고 이 구문을 사용해 권한 5인 회원의 이름으로 게시물을 작성하더라도
결국은 관리자가 게시를 하는 거잔아요. 이 입력된 이름의 회원이 로그인해서 이 게시물을 수정할 수
없을 거같은데요.. 그리고 이 구문은 게시자의 이름을 누루면 Layer 메뉴가 뜰거 같지 않습니다.
이구문은 드롭다운 메뉴를 꺼내는 기능만 하는 내용이 아닌지요?

까다로운 내용에는 틀림없지요?^^ 죄송합니다 텍와이드님..
SQL 구문에는 문제가 없습니다만 혹시 대소문자 문제가 아닐까요?

예, 이것은 레벨 5 인 회원만 빼서 select 테그 옵션에만 나오는 겁니다.

글 게시자로 입력하게 하려면 매우 복잡합니다. 일단 위 코드를

<?
$sql = " select mb_id, mb_name from $cfg[member_table] where mb_level = 5 ";
$result = sql_query($sql);
$str = "";
while ($row = mysql_fetch_array($result)) {
    $str .= "<option value='$row[mb_id]'>$row[mb_name]</option>\n";
}
mysql_free_result($result);
?>
<select name="wr_10">
<?=$str?>
</select>

하고 gbupdate.skin.php에서 게시자가 관리자가 아닌 $wr_10 로 변경되게 아래와 같이 조작해야 할 것 같습니다.

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

if ($w == '') {

    $sql = " select mb_name, mb_email, mb_homepage from $cfg[member_table] where mb_id = '$wr_10' ";
    $row = sql_fetch($sql);
 
    $sql = " update $write_table
                      set mb_id = '$wr_10',
                          wr_name = '$row[mb_name]',
                          wr_email = '$row[mb_email]',
                          wr_homepage = '$row[mb_homepage]'
                      where wr_id = '$wr_id' ";
    sql_query($sql);
}
?>

부디 성공하시길 바랍니다...^^
답변고맙습니다. 정말 꾸쭌하시군요.^^
그렇군요. apm에서 대소문자 에러를 생각 못했네요.
조언해주신 구문 적용하고 하고 보고(?)드리겠습니다.

텍와이드님께 수강료를 단단히 지불해야 할 거같은데..
약주 좋아하시는지요..? 뉴질랜드 함 오셔야 할텐데요..

언제 잠깐 텍와이드님 사이트에 방문을 했었는에
IT 사업을 하시나요? 정년퇴직 말씀을 가끔하시던데요.
저 약주 좋아 합니다. 그러나 많이는 못다십니다.

아직 정년퇴직은 멀었습니다. 혹시 명퇴를 대비로 이곳 교민상대로
IT사업을 하고 있지만 별로 신통치 않아요.

저의 고객 중에 뉴질랜드 한국분도 있습니다.
아침에 일어나 위의 구문을 적용해보니..

Select Tag는 같은 에러가 나옵니다. 지금 등급 5인 회원 이름이 하나거든요. 아이디 이름 둘다 소문자입니다.

두번재 구문은 에러는 안나는데 관리자 이름으로 밖에 나오질 안네요..

Select Tag는 쉽게 해결될줄 알았는데 만만치 않네요.
가능하다면 Mysql query 를 직접 실행해 보세요. 저는 문제가 없습니다.

 select mb_id, mb_name from gb_member where mb_level = 5;

Select tag가 문제이면 두번째 구문은 안되는게 당연합니다.
전체 9,564
그누3질답 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT