테스트 사이트 - 개발 중인 베타 버전입니다

input name배열 db에저장방법 채택완료

item.form.skin.php에서 아래와 같이 input name이 동일하나 value값이 다른 input를 select menu에서 원하는 input를 정한후 바로구매를 하려고 합니다.

aaa1" /> 

aaa2" /> 

aaa3" /> 

aaa4" /> 

 

adm/config_form.php 에

if(!isset($config['ct_infodata'])) {

    sql_query(" ALTER TABLE `{$g5['g5_shop_cart_table']}`

               ADD `aaa` varchar(255) NOT NULL AFTER `aaa_input`,

 

}

이렇게 등록되어 있습니다. 일단 aaa1" />가 아닌 aaa1" /> 이렇게 등록을 하게되면 db에 정상적으로 값이 저장이 되는데요.. []배열로 하게 되면 db에 저장이 안됩니다.. 

 

orderform.sub.php 페이지에서

aaa']; ?>로 출력이 되려고 합니다. 허나 배열로 정의하지 않고 aaa로만 name을 정할경우 중복이 되어 마지막 aaa의 input value값만 출력이 됩니다.  

 

현재 orderform.sub.php 에는 [http://sir.kr/bbs/profile.php?mb_id=naver_0filb3wm" class="sv_member" title="잉끼다 자기소개" target="_blank" style="color: rgb(0, 0, 0); text-decoration: none; font-size: 12px;">잉끼다]님께서 echo @implode(", "$_REQUEST['aaa']); ?>  이부분을 알려주셔서 수정한 상태인데 나머진 뭔가 빠진게 있는건지  orderform.sub.php에서 값이 나타나질 않습니다.. cartupdate.php파일에도 

$sql = " INSERT INTO {$g5['g5_shop_cart_table']} 

( od_id, mb_id, it_id, aaa, ) 

VALUES ";

왜 안되는건지 도무지 알수가 없네요;; 도와주세요 고수님들 ㅜㅠㅜ

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트

$aaa = implode(", ", $_POST['aaa']); 

$query = "INSERT INTO 테이블명 SET 칼럼명 = '".$aaa."'";

sql_query($query);

?>

 

정확한 쿼리가 없으니 패스하고...

보통 배열을 받아서 특정 문자를 기준으로 문자열로 바꾼 후에 저런 식으로 사용해서 지금 사용 중이신 쿼리에 적용하시면 됩니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 28개

왕계란님 덕분에 db에 input 값들이 저장되는것 까진 잘 완료되었습니다.^^감사합니다~~
근데 한가지 어려운 상황이;; input가 10개라고 봤을때 한필드에 이 10개의 input 값들이 다 등록되어 버립니다. 현재 셀렉트메뉴에서 원하는 <input name="aaa[]" id="aaa1"><input name="aaa[]" id="aaa2"><input name="aaa[]" id="aaa3">...선택후 저장하였을때 필드에 해당하는 input만 저장이 되어져야합니다 ㅠㅠ 계속 접목을 시켜보아도 잘 안되네요 ㅠㅠ;;;
선택 후 저장이라 하시는 게 checkbox 이걸 체크한 input 값만 저장한다 그런 의민가요?
정확히 어떤 말인지 모르겠네요.
네 현재 select box메뉴에 <option value='1'>aaa1</option><option value='2'>aaa2</option><option value='3'>aaa3</option>.. 이렇게 있고 밑에
<input type="text" name="aaa[]" id="aaa1" value="<?=number_format( $it['aaa1']); ?>" onKeyup="calc();" readonly />
<input type="text" name="aaa[]" id="aaa2" value="<?=number_format( $it['aaa2']); ?>" onKeyup="calc();" readonly />
<input type="text" name="aaa[]" id="aaa3" value="<?=number_format( $it['aaa3']); ?>" onKeyup="calc();" readonly />...
되어있습니다.
option선택시 해당하는 input id가 db에 저장되어야 하는데 현재 저장하게되면 저 aaa1,aaa2,aaa3~
이 값들이 한 필드에 저장되어집니다.
제가 하고자 하는것은 option선택시 선택한 input id값이 db필드에 저장되었으면 합니다. 계속 이것때매 보름동안 고생이네요 naver검색이다 google검색이다 이리저리 다 찾아봐도 허접한 실력이라 해결이 안되어 답답한 마음에 여기 고수분들께 도움을 청합니다. ㅠㅠ
되게 비효율적이지 않나요?
그냥 select box에 값을 넣고 선택한 걸 그대로 저장하면 되지 않을까요?
그리고 select box로 선택한 값만 넘긴다면 굳이 그걸 배열로 넘겨야 할 이유도 없어 보입니다.
http://nyaongii.dothome.co.kr/temp/wrid_143484.html
왕계란님 번거롭게 해드려 우선 죄송하단 말씀드릴께요 ㅠㅠ
죄송한데 하나만 더 여쭙게요..(정말 죄송합니다. ㅠㅠ)제가 진행하고 있는것이 현재 필드가 a와b가 있다면 위의 select box메뉴 선택시
<input type="text" name="aaa[]" id="aaa1" value="<?=number_format( $it['aaa1']); ?>" onKeyup="calc();" readonly />
<input type="text" name="aaa[]" id="aaa2" value="<?=number_format( $it['aaa2']); style="dispaly:none; ?>" onKeyup="calc();" readonly />
<input type="text" name="aaa[]" id="aaa3" value="<?=number_format( $it['aaa3']); style="dispaly:none; ?>" onKeyup="calc();" readonly />

<input type="text" name="bbb[]" id="bbb1" value="<?=number_format( $it['bbb1']); ?>" onKeyup="calc();" readonly />
<input type="text" name="bbb[]" id="bbb2" value="<?=number_format( $it['bbb2']); style="dispaly:none; ?>" onKeyup="calc();" readonly />
<input type="text" name="bbb[]" id="bbb3" value="<?=number_format( $it['bbb3']); style="dispaly:none; ?>" onKeyup="calc();" readonly />

각각 한 selecbox메뉴로 두개이상의 input id값들이 필드에 각각 저장이 되어야하는 상황입니다.
그리고 위 각각 input는 보여지는게 option선택시 aaa1~3번이 보여져야 하며, 그 보여지는 id값이 필드에 저장되어져야 합니다. 말그대로 aaa2번과 aaa3번은 dispaly:none;으로 가려져 있는 상태이지요. option선택에 따라 보여진다고 보시면 되십니다.

하나의 selectbox로 input를 선정해 db에 저장하는건 가능한데 하나의 selectbox로 두개이상의 변경되는 input id값을 각 필드에 저장하는게 어렵네요 ㅠㅠ
그래도 왕계란님께서 알려주신게 저한테 많은 도움이 되고있습니다.
마지막에 알려주신 내용을 지금 활용하고 있는데 어쩌면 이 도움이 크게 작용할것도 같습니다..
너무너무 감사드립니다 ~~
select box로 두 개 이상을 제어한다는 말씀이신가요?
무얼 하시려는지 알 수가 없네요.
select box는 선택한 값 하나가 input box랑 매칭이 되고 있습니다.
단순히 저 코드만 갖고는 뭘 원하시는지 전혀 파악이 안 되네요.
현재 왕계란님께서 마지막 올려주신 소스를 토대로 조금은 이해가 가는거 같습니다. 일단 응용해서 작업을 해보고 있는데 그래도 많이 어렵네요 ㅠㅠ 일단 제가 해볼 수 있는데 까지는 해보는게 맞을거 같습니다. 다시한번 도움을 주신분들께 감사의 말씀을 드립니다~
왕계란님 죄송한데 하나만 더 여쭤봐두 될까요??
혹시 위 input를 select가 아닌 checkbox로 제어할경우 가능할까요?
<tr>
<th scope="row">체크박스제어</th>
<td >
<input type="radio" name="check" value="1" onClick="check1(this.value,'checkname');" checked="checked" id="park">
<label for="jinho">1</label>
<input type="radio" name="check" value="2" onClick="check1(this.value,'checkname');" id="park">
<label for="jinho">2</label>
<input type="radio" name="check" value="3" onClick="check1(this.value,'checkname');" id="park">
<label for="jinho">3</label>
</td>
</tr>
위에 체크박스를 선택하면 및의 내용들이 바뀌면서 선택된 값이 저장되게 하는게 가능할까요?
<li>
<span id="aaa1"><input type="text" name="aaa[]" id="aaa1" disabled /></span>
<span id="aaa2" style="display:none;"><input type="text" name="aaa[]" id="aaa2" disabled /></span>
<span id="aaa3" style="display:none;"><input type="text" name="aaa[]" id="aaa3" disabled /></span>
</li>
체크박스로 하면 바로 찍어서 필드에 저장하는게 나중을 위해서라도 좋을거 같네요..
조금만 도와주세요~~~
정확히 무얼 원하시는지 모르겠습니다.
checkbox1의 값이 aaa인데 이걸 체크하게 되면 input box1에 저 aaa라는 값이 들어간다는 말씀이신가요?
여기 소스한번 봐주시겠어요??
설명만 드리니까 왕계란님 너무 귀찮게 해드리는거 같아서 바로 보시면 이해를 하시기 쉬우실듯 싶습니다.^^ 자꾸 귀찮게 해드리네요 ㅠㅠ
http://styttl78.maru.net/
지금 보여 주신 링크 이미 된 거 아닌가요?
계속 손을보고 있는데.. 현재 다된건 아니구요 ㅠㅜㅠ 보시면 radio버튼이 세개 있는데 그걸 선택한후 selectbox를 선택하면 선택되 input만 활성화가 되어야하는 상황입니다.
어느쪽을 맞추게 되면 한쪽이 잘 안먹네요 ㅠㅜㅜ
어제 본 내용이랑 다르네요.
질문하시는 내용이 계속 바뀌는 듯한데요, 한꺼번에 정확하게 설명해 주세요.
http://styttl78.maru.net/
여기 제가 그림으로 간략하게 설명을 붙여놨는데.. 보시면 아시듯이 radio에 제품1,2,3 중에 하나를 선택하면 input창이 빵1~빵3이라는 input창이 활성화가 됩니다.
여기서 제품2를 선택했을시 밑 input창의 빵2번줄에서 빵2번만 활성화되고 나머지는 비활성이 되어야하구요.. radio(제품2)에 selectbox(아이스크림종류)를 선택했을시 inputbox에는 2번째줄 아이스크림2만 창이 활성화가 되어져야합니다.
아~~ 왕계란님 이렇게 별것도 아닌것에 관심가져 주셔서 너무너무 감사드립니다 ㅠㅠ 저한테 엄청난 큰 힘이 되어주시고 계십니다 ㅠㅠ
http://nyaongii.dothome.co.kr/temp/wrid_143484.html
ul, li 부분은 위치가 좀 바뀌었습니다.
와~~~ 왕계란님~~ 제가 원하는게 이거에요 ㅠㅠ 정말 전 풀지도 못하던걸 단 몇분만에 해결해 주시네요~~ 감사합니다.
혹시 저거 제품1~3번 radio버튼 클릭하면 selectbox 선택으로 초기화안되고 그대로 선택 되어있게도 가능한가요? 예를들어 radio제품2를 선택하고 selecbox3번을 선택한뒤 다시 radio제품3번을 선택하면 selectbox3번있던게 그대로 고정되어 있게끔 가능도 하신가요??
정말 정말 왕계란님 덕분에 많은 공부가 되고있습니다.~~ 제가 디자이넌데 개발쪽도 공부해보고 싶어서 책보고 인터넷보고 여기저기 독학으로 하다보니 막히면 해결이 안되네요 ㅠㅠ 이렇게 하나하나 배워서 이걸 자료로 두고 제걸 만들어나가야 겠어요~~ 감사드립니다~~
새로 고침
와~~~ 이거 var c_idx = s_idx = 0; 숫자로만 인식하는거 같은데 혹시 처음 저한테 갈켜주신
$("input[name='aaa[]']").attr("disabled", true);
$(".a" + $(this).val()).attr("disabled", false);
요런 형태로 a1~a9번으로 a명을 줄수 있나요 혹 작업하다가 저 input박스가 b1~b9번으로 시작하는걸 추가하고 싶을때 다른 의미의 input class="b1 support_input" 줄려구 하거든요.. aaa[]이것도 필드에 저장을 할거구욤~ 혹시 c_idx나 s_idx쪽에 위 $(".a" + $(this).val())이부분을 대체하면 되는건가요? 해보니까 잘 안되더라구욤.
왕계란님 제가 소스를 전에거를 가져와서 부분수정을 했는데 이거 혹시 맞는건가요?
일단 작동은 되는데 제가한게 맞는지 모르겠네요 ㅠㅠ
http://styttl78.maru.net/
제가 테스트로 보낸 페이지는 input 이름과 전혀 상관이 없이 작동합니다.
select box의 번호에 맞춰서 작동하는 거라서 이름과는 무관합니다.
select box의 개수랑 li 개수 똑같이 해서 계속 추가해 보세요. 그러면 무슨 의민지 알 겁니다.
넵 알겠습니다 이렇게 도움을 많이 주셔서 다시 한번 감사하단 말씀 드리고싶습니다
저도 공부 열씸히해서 저같이 막입문한 초보자분들께 도움이 될수있도록 열씸히 노력하겠습니다~^^
왕계란님 감사드립니다~~
왕계란님 죄송한데 하나만 더 여쭤볼께요 ㅠㅠ 계속 하다가 안되서 너무 답답한 마음에;;
http://styttl78.maru.net/ 여기보시면 현재 선택 기준이 반대라 이걸 바꾸려는데 아무리해도 자꾸 에러가 나네요 ㅠㅠ
input value를 적절히 바꿔서 사용해 보시면 되지 않을까 싶네요.
왕계란님 가르켜주신 소스를 이용해서 selectbox와 radio버튼 선택기준을 바꾸는덴 성공을 했습니다.~~
감사드립니다.
혹 현재 처음 시작시 모든 inputbox가 disabled 되어있는데 최초 1번 input박스만 활성화 된상태로 접속되게는 가능할까요?
예를들어 처음 페이지 새로고침 했을시 1번 input박스만 활성화 되게요..
<input type="text" name="aaa[]" id="aaa1" class="a1 support_input" size="10" value="빵1" onKeyup="calc();" readonly disabled />
여기에서 disabled만 지우시면 됩니다.
헉 그렇네요... 소스 수정하다보니 자꾸 복잡해져서 이 간단한걸 복잡하게 생각해 버린거 같아요...;;;
현재 제 원하는데로 모든게 완벽하게 수정이 되었답니다. 왕계란님 몇일동안 저한테 많은 도움 주셔서 너무너무 감사드립니다~~
왕계란님~ 죄송한데 한가지만 더 여쭤봐두 될까요??
현재 http://styttl78.maru.net/index2.html 여기 보시면 전에 하던거에서 콘트롤하는 SELECTBOX가 두개가 있을시 하나는 큰UL을 담당하고 하나는 그 UL안의 li input를 각각 담당하는 selectbox가 존재합니다.
하나를 disabled하면 하나가 안먹히고;; 큰selecbox에서 작은 selectbox를 컨트롤 하자니 아무리 해봐도 답이 안나오네요 ㅠㅠ 도와주세요 ~~ ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인

전체 질문 목록