이 소스를 그누보드에서 사용하려면 어떻게 하나요? 특히 DB를 어떻게 구성하면 되는지요? > 그누4 질문답변

그누4 질문답변

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

이 소스를 그누보드에서 사용하려면 어떻게 하나요? 특히 DB를 어떻게 구성하면 되는지요? 정보

이 소스를 그누보드에서 사용하려면 어떻게 하나요? 특히 DB를 어떻게 구성하면 되는지요?

본문

<?
function connect(){
$connect = mysql_connect($mysql_host, $mysql_user, $mysql_password);
mysql_select_db($mysql_db, $connect);
return $connect;
}
$connect = connect();
$query = "select * from g4_group ";
$result = mysql_query($query, $connect);
$total = mysql_num_rows($result);
?>
<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>다중 selectbox</title>
<script id="dynamic"></script> <!-- 이거 빼먹지 말것 -->
<script>
function loadData(sel,target) {
    var trigger = sel.options[sel.selectedIndex].value;    // 첫번째 selectbox의 선택된 텍스트
    var form = sel.form.name;
    dynamic.src = "loadData.php?form=" + form + "&trigger=" + trigger + "&target=" + target;
}
</script>
</head>
<body>
<form name="selectform">
    <select name="s1" onChange="loadData(this,'s2')">
    <option value="not">---선 택---</option>
        <?
        while($row = mysql_fetch_array($result)){?>
        <option value="<?=$row[cate_code]?>"><?=$row[cate_name]?></option>
        <?}?>
    </select>
    <select name="s2" onChange="loadData(this,'s3')">
        <option>---선 택---</option>
    </select>
    <select name="s3" onChange="loadData(this,'s4')">
        <option>---선 택---</option>
    </select>
<select name="s4" onChange="loadData(this,'s5')">
        <option>---선 택---</option>
    </select>
<select name="s5">
        <option>---선 택---</option>
    </select>
</form>
</body>
</html>
 
 
//loadData.php
 
<?
    $trigger = $_GET['trigger'];
    $target = $_GET['target'];
    $form = $_GET['form'];
function connect(){
$connect = mysql_connect($mysql_host, $mysql_user, $mysql_password);
mysql_select_db($mysql_db, $connect);
return $connect;
}
$connect = connect();
$query = "select * from g4_group where gr_id order by asc";
$result = mysql_query($query, $connect);
$total = mysql_num_rows($result);

header("Content-Type: application/x-javascript");
echo "document.forms['$form'].elements['$target'].length =$total; \n";//$total은 추가할 옵션의 수
$i=0; //옵션 수의 초기화
if($trigger == "not"){ //1번 select 박스가 초기값(선택)일시 2번 select 초기화.
            echo "document.forms['$form'].elements['s2'].length =1; \n";
            echo "document.forms['$form'].elements['s2'].options[0].text = '---선 택---'; \n";
}
while($row = mysql_fetch_array($result)){
   
    echo "document.forms['$form'].elements['$target'].options[$i].text = '$row[cate_name]'; \n";
    echo "document.forms['$form'].elements['$target'].options[$i].value = '$row[cate_code]'; \n";
       
$i++; // 실행시 1씩 증가

if($target == "s2"){ //지정 타겟 이외의 select의 값을 초기화.
            echo "document.forms['$form'].elements['s3'].length =1; \n";
            echo "document.forms['$form'].elements['s3'].options[0].text = '---선 택---'; \n";
            echo "document.forms['$form'].elements['s4'].length =1; \n";
            echo "document.forms['$form'].elements['s4'].options[0].text = '---선 택---'; \n";
            echo "document.forms['$form'].elements['s5'].length =1; \n";
            echo "document.forms['$form'].elements['s5'].options[0].text = '---선 택---'; \n";
                    }elseif($target == "s3"){
                        echo "document.forms['$form'].elements['s4'].length =1; \n";
                        echo "document.forms['$form'].elements['s4'].options[0].text = '---선 택---'; \n";
                        echo "document.forms['$form'].elements['s5'].length =1; \n";
                        echo "document.forms['$form'].elements['s5'].options[0].text = '---선 택---'; \n";
                        }elseif($target == "s4"){
                                echo "document.forms['$form'].elements['s5'].length =1; \n";
                                echo "document.forms['$form'].elements['s5'].options[0].text = '---선 택---'; \n";
                       
                    }
}
?>

댓글 전체

상단의 DB접속부분을
<?
function connect(){
$connect = mysql_connect($mysql_host, $mysql_user, $mysql_password);
mysql_select_db($mysql_db, $connect);
return $connect;
}
$connect = connect();
$query = "select * from g4_group ";
$result = mysql_query($query, $connect);
$total = mysql_num_rows($result);
?>

아래와 같이 수정....

<?
$g4_path = ".."; //해당 파일이 어디에 설치되었는가에 따라 상대경로 수정(현재 그누보드 바로 밑 폴더의 경우)
include_once ("$g4_path/common.php");

$query = "select * from g4_group ";
$result = mysql_query($query);
$total = mysql_num_rows($result);
?>


==============================================

밑에 파일 //loadData.php

<?
    $trigger = $_GET['trigger'];
    $target = $_GET['target'];
    $form = $_GET['form'];
function connect(){
$connect = mysql_connect($mysql_host, $mysql_user, $mysql_password);
mysql_select_db($mysql_db, $connect);
return $connect;
}
$connect = connect();
$query = "select * from g4_group where gr_id order by asc";
$result = mysql_query($query, $connect);
$total = mysql_num_rows($result);

아래와 같이 수정.....
<?
    $trigger = $_GET['trigger'];
    $target = $_GET['target'];
    $form = $_GET['form'];

$g4_path = ".."; //해당 파일이 어디에 설치되었는가에 따라 상대경로 수정(현재 그누보드 바로 밑 폴더의 경우)
include_once ("$g4_path/common.php");

$query = "select * from g4_group where gr_id order by asc";
$result = mysql_query($query);
$total = mysql_num_rows($result);


본문 내용중에서......

위의 파일에서

        while($row = mysql_fetch_array($result)){?>
        <option value="<?=$row[cate_code]?>"><?=$row[cate_name]?></option>
        <?}?>

아래파일에서

while($row = mysql_fetch_array($result)){
   
    echo "document.forms['$form'].elements['$target'].options[$i].text = '$row[cate_name]'; \n";
    echo "document.forms['$form'].elements['$target'].options[$i].value = '$row[cate_code]'; \n";


위 내용 중에 cate_code 와 cate_name 이 무엇을 가리키는지 모르겠네요.
g4_group 테이블에는 위의 cate_code, cate_name이라는 것이 없는 것 같은데....새로 만든 것이면 상관이 없지만..
혹시 모르니 cate_code를 gr_id로, cate_name을 gr_subject로 바꿔서 해보세요.


그리고 만약 위 파일이 그누보드루트에 설치되어 있다면(_common.php 파일이 있는 곳)

$g4_path = "..";
include_once ("$g4_path/common.php");
이것을 
include_once("./_common.php"); 이것만 넣어도 됩니다.
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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