셀렉트박스 선택에 따라 DB선택

셀렉트박스 선택에 따라 DB선택

QA

셀렉트박스 선택에 따라 DB선택

본문

안녕하세요

홈페이지 작업하다가 질문이 있습니다.

지금 문의폼 제작하고 있는데요 작성자는 문의 종류를 선택하고 선택에 따라 관련 DB에 글 남깁니다. 예를 들면, 문의 종류 A -> DB_1 작성, 문의 종류 B -> DB_2 작성. 목표는 사용자 눈의 보이게 문의를 구분하는 건데요

제가 생각하는 방법은 $_POST에서 셀렉트박스 값을 가져오고 if으로 DB 이름 선택됩니다.

 

<form>

<?php $value = $_POST['셀렋트밗_이름'];>

<?php if ((isset($value)) && ($value !== '셀렉트밗_값')) { ?>

<input type="hidden" name="bo_table" value="DB_1">

<?php } else { ?>

<input type="hidden" name="bo_table" value="DB_2">

<?php }>

</form>

 

이렇게 처리했고 바로 <form>에서 넣었지만 선택없이 다 같은 db에 넣었습니다. 그래서 이 부분을 어디서 아땋게 수정할지 아니면 더 좋은 구분 방법을 있는지 선생님들 좀 알려주시면 감사하겠습니다 ㅜㅜ

이 질문에 댓글 쓰기 :

답변 5

제거할 코드

<?php $value = $_POST['wr_2'];?>

 

<?php if ((isset($value)) && ($value !== 'lesson')) { ?>
<input type="hidden" name="bo_table" value="repair">
<?php } else { ?>
<input type="hidden" name="bo_table" value="classes">
<?php }>

 

제거한 자리에 추가할 코드

<input type='hidden' name='bo_table' id='bo_table' value='<?php echo $bo_table;?>'>

 

하단 자바스크립트 submit 함수에 추가

$('#bo_table').val( $('#wr_2').val() );

 

 

제거

if($_POST['bo_table_name']=="repair") $write_table="repair";
if($_POST['bo_table_name']=="classes") $write_table="classes";

 

 

 

 

<form>
<select name="table_name">
    <option value="DB_1">DB1</option>
    <option value="DB_2">DB2</option>
</select>
</form>

폼 전송 받는 페이지에서 $_POST["table_name"] 을 받아서 
$sql="INSERT  ".$_POST["table_name"]."  SET name1=val1,name1=val1 "
 sql 처리하시면 될듯 합니다.

제가 원하는 거는 조금 다른 것 같아요..
<form>
<select name="inquiry_name">
    <option value="문의_A">문의_A</option> -> 선택 시 모든 글 DB_1 작성
    <option value="문의_B">문의_B</option> -> 선택 시 모든 글 DB_2 작성
</select>
</form>

그리고 게시판 폼 사용해서 sql는 write_update로 처리되어있는데요 이렇게 하면 안 되나요??

write_update.php 파일을 말씀하시는 건가요?

네 맞습니다.
이렇게 처리했습니다.
바로 index.php 폼 넣고 write_udpate.php 와 연결시켰습니다.

<form name="fwrite" id="fwrite" action="http://[주소]/bbs/write_update.php"
                        onsubmit="return fwrite_submit(this);" method="post" enctype="multipart/form-data"
                        autocomplete="off">
                        <?php $value = $_POST['wr_2'];?>
                        <input type="hidden" name="uid" value="<?php echo get_uniqid(); ?>">
                        <input type="hidden" name="w" value="<?php echo $w ?>">
<?php if ((isset($value)) && ($value !== 'lesson')) { ?>
<input type="hidden" name="bo_table" value="repair">
<?php } else { ?>
<input type="hidden" name="bo_table" value="classes">
<?php }>
                        <input type="hidden" name="wr_id" value="<?php echo $wr_id ?>">
                        <input type="hidden" name="sca" value="<?php echo $sca ?>">
                        <input type="hidden" name="sfl" value="<?php echo $sfl ?>">
                        <input type="hidden" name="stx" value="<?php echo $stx ?>">
                        <input type="hidden" name="spt" value="<?php echo $spt ?>">
                        <input type="hidden" name="sst" value="<?php echo $sst ?>">
                        <input type="hidden" name="sod" value="<?php echo $sod ?>">
                        <input type="hidden" name="page" value="<?php echo $page ?>">
                        <input type="hidden" name="wr_password" id="wr_password" value="1234!!">
                        <input type="hidden" name="wr_name" id="wr_name" value="문의">
                        <input type="hidden" name="wr_subject" value="신청문의">
                        <div class="form__container">
                            <div class="form__left">
                                <div class="form__upper">
                                    <div class="left_form">
                                        <label for="wr_1" class="form-label">성함<span class="color__blue">*</span></label>
                                        <input name="wr_1" id = "wr_1" placeholder="홍길동" class="form-input" type="text">
                                    </div>
                                    <div class="right_form">
                                        <label for="wr_2" class="form-label">문의<span class="color__blue">*</span></label>
                                        <!-- <input name="wr_2" id = "wr_2" placeholder="시술명 선택" class="form-input" type="text"> -->
                                        <select name="wr_2" id = "wr_2" placeholder="문의 선택" >
                                            <option value="repair">수정문의</option>
                                            <option value="lesson">강의문의</option>
                                          </select>
                                    </div>
                                </div>
                                <label for="wr_3" class="form-label">전화번호<span class="color__blue">*</span></label>
                                <input name="wr_3" id = "wr_3" placeholder="*** 개인정보보호를 위한 휴대폰번호 노출방지 ***" class="form-input" type="text">
                                <label for="wr_content" class="form-label">문의사항</label>
                                <input name="wr_content" id = "wr_content" placeholder="문의사항은 여기에 적어주세요" class="form-input" type="text">
                            </div>
                            <input type="submit"  class="contact_from__btn" type="submit" id="btn_submit" value="작성완료">
                  </form>

<form name="fwrite" id="fwrite" action="http://[주소]/bbs/write_update.php" onsubmit="return fwrite_submit(this);" method="post" enctype="multipart/form-data" autocomplete="off">
<?php $value = $_POST['wr_2'];?>
    <input type="hidden" name="uid" value="<?php echo get_uniqid(); ?>">
    <input type="hidden" name="w" value="<?php echo $w ?>">
    <?php if ((isset($value)) && ($value !== 'lesson')) { ?>
        <input type="hidden" name="bo_table_name" value="repair">
    <?php } else { ?>
        <input type="hidden" name="bo_table_name" value="classes">
    <?php } ?>
        <input type="hidden" name="wr_id" value="<?php echo $wr_id ?>">
        <input type="hidden" name="sca" value="<?php echo $sca ?>">
        <input type="hidden" name="sfl" value="<?php echo $sfl ?>">
        <input type="hidden" name="stx" value="<?php echo $stx ?>">
        <input type="hidden" name="spt" value="<?php echo $spt ?>">
        <input type="hidden" name="sst" value="<?php echo $sst ?>">
        <input type="hidden" name="sod" value="<?php echo $sod ?>">
        <input type="hidden" name="page" value="<?php echo $page ?>">
        <input type="hidden" name="wr_password" id="wr_password" value="1234!!">
        <input type="hidden" name="wr_name" id="wr_name" value="문의">
        <input type="hidden" name="wr_subject" value="신청문의">
        <div class="form__container">
        <div class="form__left">
            <div class="form__upper">
                <div class="left_form">
                    <label for="wr_1" class="form-label">성함<span class="color__blue">*</span></label>
                    <input name="wr_1" id = "wr_1" placeholder="홍길동" class="form-input" type="text">
                </div>
                <div class="right_form">
                    <label for="wr_2" class="form-label">문의<span class="color__blue">*</span></label>
                    <!-- <input name="wr_2" id = "wr_2" placeholder="시술명 선택" class="form-input" type="text"> -->
                    <select name="wr_2" id = "wr_2" placeholder="문의 선택" >
                        <option value="repair">수정문의</option>
                        <option value="lesson">강의문의</option>
                      </select>
                </div>
            </div>
            <label for="wr_3" class="form-label">전화번호<span class="color__blue">*</span></label>
            <input name="wr_3" id = "wr_3" placeholder="*** 개인정보보호를 위한 휴대폰번호 노출방지 ***" class="form-input" type="text">
            <label for="wr_content" class="form-label">문의사항</label>
            <input name="wr_content" id = "wr_content" placeholder="문의사항은 여기에 적어주세요" class="form-input" type="text">
        </div>
        <input type="submit"  class="contact_from__btn" type="submit" id="btn_submit" value="작성완료">
</form>


:::::::::::::::::http://[주소]/bbs/write_update.php:::::::::::::::::
<?php
if($_POST['bo_table_name']=="repair") $write_table="repair";
if($_POST['bo_table_name']=="classes") $write_table="classes";

$sql = " insert into $write_table
                set wr_num = '$wr_num',
                     wr_reply = '$wr_reply',
                     wr_comment = 0,
                     ca_name = '$ca_name',
                     wr_option = '$html,$secret,$mail',
                     wr_subject = '$wr_subject',
                     wr_content = '$wr_content',
                     wr_link1 = '$wr_link1',
                     wr_link2 = '$wr_link2',
                     wr_link1_hit = 0,
                     wr_link2_hit = 0,
                     wr_hit = 0,
                     wr_good = 0,
                     wr_nogood = 0,
                     mb_id = '{$member['mb_id']}',
                     wr_password = '$wr_password',
                     wr_name = '$wr_name',
                     wr_email = '$wr_email',
                     wr_homepage = '$wr_homepage',
                     wr_datetime = '".G5_TIME_YMDHIS."',
                     wr_last = '".G5_TIME_YMDHIS."',
                     wr_ip = '{$_SERVER['REMOTE_ADDR']}',
                     wr_1 = '$wr_1',
                     wr_2 = '$wr_2',
                     wr_3 = '$wr_3',
                     wr_4 = '$wr_4',
                     wr_5 = '$wr_5',
                     wr_6 = '$wr_6',
                     wr_7 = '$wr_7',
                     wr_8 = '$wr_8',
                     wr_9 = '$wr_9',
                     wr_10 = '$wr_10' ";
    sql_query($sql);

?>
 

bo_table은 공통으로 쓰는 변수이기때문에
<input type="hidden" name="bo_table_name" value="repair">
<input type="hidden" name="bo_table_name" value="classes">

이렇게 name을 바꾸고 write_update.php 부분에 등록되는 $sql 찾으셔서 바로 위에 $write_table 을 지정해주시면 됩니다.

이해하셧죠?

write_update.php 파일 복사해서 올려주세요. 불편하시면 쪽지 주셔도 됩니다.

쪽지 보내면 '정보공개를 하지 않았습니다.' 오류가 뜹니다
혹시 개인정보 슴기세요?

제가 따로 확인해봤는데요 bo_table없을때 이 오류가 뜹니다.
write_update 제대로 수정하지 않아서 그럴까요?

<?php if ((isset($value)) && ($value !== 'lesson')) { ?>
        <input type="hidden" name="bo_table" value="repair">
        <input type="hidden" name="bo_table_name" value="repair">
    <?php } else { ?>
        <input type="hidden" name="bo_table" value="classes">
        <input type="hidden" name="bo_table_name" value="classes">
    <?php } ?>

이렇게 해보시고 안되면 쪽지 보내주세요.
정보 공개 풀었습니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,673 | RSS
QA 내용 검색

회원로그인

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