설문조사 때문에 도움 요청합니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

설문조사 때문에 도움 요청합니다. 정보

설문조사 때문에 도움 요청합니다.

본문

조금 아래에도 글을 썼는데 아무래도 어려운 문제인것 같네요.
 
고수님께 도움을 부탁드립니다.
 
설문조사에서 항목이 한번에 하나씩만 선택이 되는데,
 
한번에 항목 여러개를 선택할 수 있도록, 즉 복수선택이 가능하게 하고싶습니다.
 
예를 들면 1번부터 9번까지 설문항목이 있을 때
 
최소 1개에서 최대9개 선택할수 있도록 하고 싶습니다.
 
도움 부탁드립니다.(꾸벅)
 
포인트가 더 없어서 죄송합니다.ㅠ

댓글 전체

내용이 자세하면 제가 답변해드릴텐데...간략하게라도
보였다 안보였다 하는걸 말하는건가요?
<div>의 스타일을 이용해보세요
선택하면 보여지고 선택 안하면 안보여지게 조정가능합니다
소니zero 님 댓글 감사드립니다. 그런데 제 의도가 잘못 전해진것 같아요. 제 설명이 많이 부족했네요.

예를 들면

설문내용 : 이들 중 누구를 좋아하십니까? (복수응답가능)

1.김태희 2.강동원 3. 송혜교 4. XXX 5. XXX 6. XXX 7. XXX 8. XXX 9. XXX

이렇게 보기가 9개 있다면
지금 설문조사는 1개만 선택하고 투표할 수 있는데
전 여러 개 선택도 가능하도록 하고 싶습니다.
학교에서 다음 강좌를 정해야 하는데 복수응답 가능한 설문이 꼭 필요합니다. 도와주세요~
답변이 될만하진 않지만 참고 바랍니다 ^^

일단 설문메인 항목에서 넘어 오는 변수값이 같아서 발생하는 문제입니다.

radio 버턴 이나 checkbox 값을 을 사용하신다면 -_-  값은 변수명에
value 값이 1-9 까지 들어갈겁니다 ...

그래서 결국 변수값 이 어떤 이유에서든지 1-9 중 1개 나오게 됩니다 ....

해결 방법으로는 설문 답변항목마다 다른 변수를 쓰시게 되시면 해결될듯 합니다.
다음이 poll.skin.php 의 내용인데요, 처음에 인풋 타입을 radio 로 되어있던 것을 checkbox 로 바꾸면
여러 개 선택할 순 있는데 투표는 하나만 되더라구요.
블루의 기사님 말씀대로 보기마다 다른 변수를 쓰면 될 것 같은데 제가 php를 잘 모르니 checkbox 이후엔
어디를 고쳐야 할지 모르겠습니다.


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

global $is_admin;

// 투표번호가 넘어오지 않았다면 가장 큰(최근에 등록한) 투표번호를 얻는다
if (!$po_id)
{
    $po_id = $config[cf_max_po_id];

    if (!$po_id) return;
}

$po = sql_fetch(" select * from $g4[poll_table] where po_id = '$po_id' ");
?>

<table width="220" border="0" cellspacing="0" cellpadding="0">
<form name="fpoll" method="post" action="<?=$g4[bbs_path]?>/poll_update.php" onsubmit="return fpoll_submit(this);" target="winPoll">
<input type="hidden" name="po_id" value="<?=$po_id?>">
<input type="hidden" name="skin_dir" value="<?=$skin_dir?>">
<tr>
    <td width=7 height=7><img src="<?=$poll_skin_path?>/img/bg_tl.gif" width=7></td>
    <td background="<?=$poll_skin_path?>/img/bg_t.gif"></td>
    <td width=6><img src="<?=$poll_skin_path?>/img/bg_tr.gif" width=6></td>
</tr>
<tr>
    <td background="<?=$poll_skin_path?>/img/bg_ml.gif"></td>
    <td>
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr><td height=5 colspan=5></td></tr>
        <tr>
            <td width="5"></td>
            <td align="center" colspan=3>
                <table width="100%" border="0" cellspacing="0" cellpadding="0">
                <tr>
                    <td width=5><img src="<?=$poll_skin_path?>/img/bg_mcl.gif"></td>
                    <td align=center background="<?=$poll_skin_path?>/img/bg_mc.gif"><img src="<?=$poll_skin_path?>/img/title.gif"></td>
                    <td width=4><img src="<?=$poll_skin_path?>/img/bg_mcr.gif"></td>
                </tr>
                </table></td>
            <td width="5"></td>
        </tr>
        <tr><td height=10 colspan=4></td></tr>
        <tr>
            <td></td>
            <td width="25" align="center"><img src="<?=$poll_skin_path?>/img/q.gif" width="12" height="13"></td>
            <td height="20" style="text-align:justify;"><font color="#848484"><?=$po[po_subject]?></font>
                <? if ($is_admin == "super") { ?><a href="<?=$g4[admin_path]?>/poll_form.php?w=u&po_id=<?=$po_id?>"><img src="<?=$poll_skin_path?>/img/admin.gif" width="33" height="15" border=0 align=absmiddle></a></center><? } ?>
            </td>
            <td></td>
        </tr>
        <tr><td height=5 colspan=4></td></tr>

        <tr>
            <td></td>
            <td colspan=2>
                <table width="100%" border="0" cellspacing="0" cellpadding="0">
                <? for ($i=1; $i<=9 && $po["po_poll{$i}"]; $i++) { ?>
                <tr>
                    <td width="25" align="center"><? if ($i == 1) { echo "<img src='$poll_skin_path/img/a.gif' width='12' height='13'>"; } else { echo "&nbsp;"; } ?></td>
                    <td width="30" height="25" align="center"><input type="checkbox" name="gb_poll" value="<?=$i?>" id='gb_poll_<?=$i?>'></td>
                    <td width=""><font color="#848484"><label for='gb_poll_<?=$i?>'><?=$po['po_poll'.$i]?></label></font></td>
                </tr>
                <? } ?>
                </table></td>
        </tr>
        <tr><td height=5 colspan=4></td></tr>
        <tr>
            <td></td>
            <td colspan="2" align=center>
                <input type="image" src="<?=$poll_skin_path?>/img/poll_button.gif" width="70" height="25" border="0">
                <a href="javascript:;" onclick="poll_result('<?=$po_id?>');"><img src="<?=$poll_skin_path?>/img/poll_view.gif" width="70" height="25" border="0"></td>
            <td></td>
        </tr>
        <tr><td height=5 colspan=5></td></tr>
        </table></td>
    <td background="<?=$poll_skin_path?>/img/bg_mr.gif"></td>
</tr>
<tr>
    <td height=7><img src="<?=$poll_skin_path?>/img/bg_bl.gif" width=7></td>
    <td background="<?=$poll_skin_path?>/img/bg_b.gif"></td>
    <td><img src="<?=$poll_skin_path?>/img/bg_br.gif" width=6></td>
</tr>
</form>
</table>

<script language='JavaScript'>
function fpoll_submit(f)
{
    var chk = false;
    for (i=0; i<f.gb_poll.length;i ++) {
        if (f.gb_poll[i].checked == true) {
            chk = f.gb_poll[i].value;
            break;
        }
    }

    <?
    if ($member[mb_level] < $po[po_level])
        echo " alert('로그인 후 투표해주세요.'); return false; ";
    ?>

    if (!chk) {
        alert("항목을 선택하세요");
        return false;
    }

    win_poll();
    return true;
}

function poll_result(po_id)
{
    <?
    if ($member[mb_level] < $po[po_level])
        echo " alert('로그인 후 결과를 보실 수 있습니다.'); return false; ";
    ?>

    win_poll("<?=$g4[bbs_path]?>/poll_result.php?po_id="+po_id+"&skin_dir="+document.fpoll.skin_dir.value);
}
</script>
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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