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

안녕하세요 제발 부탁드립니다 chechkbox 배열 db 저장방법입니다ㅠㅠ 채택완료

aaab 7년 전 조회 3,423

write.skin.php에

  ㄱㄱ        ㄴㄴ        ㄷㄷ        ㄹㄹ

로 체크박스를 만들고

write_update.skin.php 엔

 

$wr_10=implode(",", $_POST['wr_10']); sql_query("UPDATE ".$write_table." SET wr_10 = '".$wr_10."' WHERE wr_id = ".$wr_id); 이렇게 줬는데요 db에 저장이안됩니다ㅠㅠ 제발 도움좀주세요

 

저장이된후에는 list.skin.php 에

값이 이 있으면  " O " 이렇게 표현하고싶은데 그것도 알려주시면 대단히감사하겠습니다ㅠㅠ

형님들 도와주십쇼행님들

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

답변 3개

채택된 답변
+20 포인트
7년 전

일단 개발자 도구로  wr_10 POST 값으로 제대로 넘어갔는지 부터 확인하시는게 순서겠네요

배열만 제대로 넘어갔으면 별 문제 없을거 같은데요?

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

답변에 대한 댓글 10개

a
aaab
7년 전
그래도 db에 안들어가네요ㅠㅠㅠ
나시
7년 전
제대로 넘어갔다는 말인가요?
일단 array 로 넘어가야 다음단계가 진행될텐데 그냥 db 에 안들어간다고 하면 해드릴게 없어요 ㅋ
a
aaab
7년 전
이제 array 로 넘어갔습니다!!!
근데 write update skin 파일을

<?

$wr_10 = implode( '|', $_POST['wr_10']);
sql_query("UPDATE {$write_table} SET wr_10 = '{$wr_10}' WHERE wr_id = '{$wr_id}'");

?> 로하니 view 페이지로 넘어가질않네요 ㅠㅠㅠ

array로 들어갔으면 list.skin.php 에서 어떻게 소스를주면될까요ㅠㅠㅠㅠㅠ
나시
7년 전
일단 쿼리문을 찍어보세요

[code]
$sql_query = "UPDATE {$write_table} SET wr_10 = '{$wr_10}' WHERE wr_id = '{$wr_id}'";
echo $sql_query;
[/code]

해서 결과를 여기에 올려봐요
a
aaab
7년 전
wr_10값에 array 로 들어가긴하는데

wrtie_update.skin.php 가 문제인지

작성화면을 누르면 view 로 화면으로 넘어가질않아요ㅠㅠ
a
aaab
7년 전
그냥 빈화면이 나옵니다..
나시
7년 전
그냥 빈화면 이라면 php 문법 오류입니다.
한줄한줄 지웠다가 다시 써가며 어느줄이 오류인지 찾아야죠

print_r 해서 배열이 나오는건 어떻게 확인하신건가요?
a
aaab
7년 전
<?php

$wr_10 = implode('|',$_POST['wr_10']);
sql_query("UPDATE {$write_table} SET wr_10 = '{$wr_10}' WHERE wr_id = '{$wr_id}'");

?>
이렇게하니 다시 wr_10값이 들어가진않지만
작성완료시 view 화면으로 넘어갑니다ㅠㅠ 문법체크기로 체크해봤는데 틀린건없었구요ㅠㅠ
나시
7년 전
[code]
<?php
$wr_10 = implode('|',$_POST['wr_10']);
$sql = "UPDATE {$write_table} SET wr_10 = '{$wr_10}' WHERE wr_id = '{$wr_id}'";
echo print_r($wr_10);
echo print_r($sql);
//sql_query($sql);
?>
[/code]

이렇게 해서 결과를 보여줘바요
a
aaab
7년 전
write_update.skin.php 엔 view화면으로 넘어가구요

write 스킨에 코드입력하니
1UPDATE g5_write_b103 SET wr_10 = '' WHERE wr_id = '0'1 이렇게 뜹니다

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

7년 전

write.skin.php 파일에서 

 

 

위 부분 추가해서 넘겨주시고 

 

write_update.php

 

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

sql_query("UPDATE {$write_table} SET wr_10 = '{$wr_10}' WHERE wr_id = '{$wr_id}'");

?>

 

이렇게 해주시면 될 것 같습니다

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

답변에 대한 댓글 1개

a
aaab
7년 전
해당 소스를 보내드려도될까요?

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

7년 전

php에서 체크박스의 name이 같은경우, 

결과값(wr_10)을 배열로 인지하기때문에, array가 나올수 밖에 없지요.

 

값을 확인하려면, 

echo  print_r($_POST['wr_10']);  

형식으로 해야, 보입니다.

 

1번과 2번을 선택한 경우, print_r 해보면,

Array ( [0] => 1 [1] => 2 ) 

이렇게 출력될 것이구요.

 

체크박스의 수량이 많지 않다면,

name 값을 달리하는게 간단할 것 같군요.

 

db에 저장이 되었다고 할 경우,

list에서 "O"을 출력하는 부분은

해당 스킨 출력부분에,

if($list[$i]['wr_10'] <>"")  echo "O";

이렇게 처리하면 될 듯..

 

 

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

답변에 대한 댓글 2개

a
aaab
7년 전
그렇다면 어떻게 수정해야지 좋을까요?ㅠㅠ
a
aaab
7년 전
list 에서 이렇게 주면 체크를 1번,2번 만하면 1|2 로 들어가긴하는데

알려주신 소스대로하면 3,4번 체크 안한것도 o 표시가 되버리네요ㅠ

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

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

로그인