mb_15을 만들고 쪼개는 방법

mb_15을 만들고 쪼개는 방법

QA

mb_15을 만들고 쪼개는 방법

답변 2

본문

여분필드를 20까지 확장했습니다. 음.. 그리고

사용중 여분필드를 나누어(쪼개서) 사용하고 싶은일이 생기더군요.

예를들어 mb_15일 경우 아래처럼 하는게 맞나요?

 

음... 현재상태로는 작성후일단 수정시 불러와지지도 않고 디비에 저장도 안되요.

흑흑

뭐가 잘못된걸까요?

 

 

 


        <tr>
        	<th>강사학력</th>
        	<td colspan="3">
        		<select name="mb_15a" id="mb_15a" required>
            <option value="">선택하세요.</option>
            <option value="<?php echo $member['mb_15a'] ?>" <?php echo ($member['mb_15a'] == "독학") ? "selected" : "";?>>독학</option>
            <option value="<?php echo $member['mb_15a'] ?>" <?php echo ($member['mb_15a'] == "전문학사") ? "selected" : "";?>>전문학사</option>
            <option value="<?php echo $member['mb_15a'] ?>" <?php echo ($member['mb_15a'] == "학사") ? "selected" : "";?>>학사</option>
            <option value="<?php echo $member['mb_15a'] ?>" <?php echo ($member['mb_15a'] == "석박사") ? "selected" : "";?>>석박사</option>
            <option value="<?php echo $member['mb_5a'] ?>" <?php echo ($member['mb_5a'] == "해외유학") ? "selected" : "";?>>해외유학</option>
 
				</select>
			</td>
			<th scope="row"><label for="mb_15b">최종학교명</label></th>
    		<td>
       		<input type="text" name="mb_15b" id="mb_15b" value="<?php echo $member['mb_5b'] ?>" <?php echo $required ?> class="frm_input" size="20" >
    		</td>
			<th scope="row"><label for="mb_15c">전공분야</label></th>
    		<td>
       		<input type="text" name="mb_15c" id="mb_15c" value="<?php echo $member['mb_15c'] ?>" <?php echo $required ?> class="frm_input" size="20" >
    		</td>
        </tr>

 

 

이 질문에 댓글 쓰기 :

답변 2

insert나 update처리 하실떄요.

 

mb_15 란 항목에 저장하실때..


구분자를 넣어서 붙혀넣고 입력하셨는지요?

예를들어 입력쪽을 보시면


활용예)


$mb_15  = $mb_15a . "|" . $mb_15b . "|" . $mb_15c;
$sql = "insert [테이블] set mb_15 ='{$mb_15}';


이런식으로 구분자를 넣구요.~

 

select 하실때요. explode나 split를 사용하셔 쪼개셔서 가지고 오시면됩니다.


활용예)


$array_mb15 = explode($row['$mb_15'], "|");
$mb_15a = $array_mb15[0];
$mb_15b = $array_mb15[1];
$mb_15c = $array_mb15[2];


배열로 값을 셋팅후 가지고 오시면됩니다.

이런식으로 한필드에 구분자를 넣구 가지고 올수 있습니다.

그리고 입력항목이 많은경우에는 반드시 필드 형식을 varchar보다는 text로 해주시기 바랍니다.

 

 

답변 정말 감사드립니다.

회원가입스킨에서 register_form_update.tail.skin.php 의 상단에
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
내부에 삽입했고


//필드 쪼개기
$mb_5  = $mb_5a . "|" . $mb_5b . "|" . $mb_5c;
$sql = "insert [테이블] set mb_5 ='{$mb_5}'";
?>




회원가입스킨에서 register_form.skin.php 의 상단에
 
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
내부에 삽입했고

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

// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">', 0);

$array_mb5 = explode($row['$mb_5'], "|");
$mb_5a = $array_mb5[0];
$mb_5b = $array_mb5[1];
$mb_5c = $array_mb5[2];

?>



디비의 여분필드는 아래의 파일을 만들어 실행해서 만들었습니다.

<? 
include_once("./_common.php"); 
include_once("./_head.php"); 

//필드 늘리기 
sql_fetch(" alter table g5_member add mb_11 text "); 
sql_fetch(" alter table g5_member add mb_12 text "); 
sql_fetch(" alter table g5_member add mb_13 text "); 
sql_fetch(" alter table g5_member add mb_14 text "); 
sql_fetch(" alter table g5_member add mb_15 text "); 
sql_fetch(" alter table g5_member add mb_16 text "); 
sql_fetch(" alter table g5_member add mb_17 text "); 
sql_fetch(" alter table g5_member add mb_18 text "); 
sql_fetch(" alter table g5_member add mb_19 text "); 
sql_fetch(" alter table g5_member add mb_20 text "); 

include_once("./_tail.php"); 
?> 


필드는 알려주신대로 다 지워버리고 다시
text로 생성을
이렇게만 하고 바로 사용해봤는데 잘 안되네요 -..- 필드속성같은건 잘 몰라서 다른건 손 안댔구요.

지적 한번 부탁드려요~ ^^
(아참 질문은 여분필드 15번으로 해놓고 테스트는 5번으로 했네요. ㅋㅋ 별 상관없는거겠죠?)

에고 그냥 똑같이 하시면 안되고..

예를 들어 들인 겁니다.

 

먼저 insert하실떄 mysql 에 값이 구분자 포함해서 잘 들어갔나 확인해보시구요..

잘 들어갔다고 확인되시면  select 하실데 Record값을 $row로 받으셔서 explode로 배열로 구분하시면됩니다.

 

잘만하시면 생각보다 쉽습니다.~ 

답변 감사합니다.
이래저래 막 헤매면서 해보고 있습니다. -..-
음... 아무래도 mb11~mb20 추가한 필드가 설정에 문제가 있나봐요.
디비에 안찍히네요.
잘몰라서 mb10하고 구조를 똑같이 설정해놨는데. ㅋㅋㅋ 노력중입니다. 답변다시 올릴게요~

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 764
© SIRSOFT
현재 페이지 제일 처음으로