안녕하세요 제발 부탁드립니다 chechkbox 배열 db 저장방법입니다ㅠㅠ 채택완료
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개
일단 개발자 도구로 wr_10 POST 값으로 제대로 넘어갔는지 부터 확인하시는게 순서겠네요
배열만 제대로 넘어갔으면 별 문제 없을거 같은데요?
답변에 대한 댓글 10개
일단 array 로 넘어가야 다음단계가 진행될텐데 그냥 db 에 안들어간다고 하면 해드릴게 없어요 ㅋ
근데 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 에서 어떻게 소스를주면될까요ㅠㅠㅠㅠㅠ
[code]
$sql_query = "UPDATE {$write_table} SET wr_10 = '{$wr_10}' WHERE wr_id = '{$wr_id}'";
echo $sql_query;
[/code]
해서 결과를 여기에 올려봐요
wrtie_update.skin.php 가 문제인지
작성화면을 누르면 view 로 화면으로 넘어가질않아요ㅠㅠ
한줄한줄 지웠다가 다시 써가며 어느줄이 오류인지 찾아야죠
print_r 해서 배열이 나오는건 어떻게 확인하신건가요?
$wr_10 = implode('|',$_POST['wr_10']);
sql_query("UPDATE {$write_table} SET wr_10 = '{$wr_10}' WHERE wr_id = '{$wr_id}'");
?>
이렇게하니 다시 wr_10값이 들어가진않지만
작성완료시 view 화면으로 넘어갑니다ㅠㅠ 문법체크기로 체크해봤는데 틀린건없었구요ㅠㅠ
<?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]
이렇게 해서 결과를 보여줘바요
write 스킨에 코드입력하니
1UPDATE g5_write_b103 SET wr_10 = '' WHERE wr_id = '0'1 이렇게 뜹니다
댓글을 작성하려면 로그인이 필요합니다.
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개
댓글을 작성하려면 로그인이 필요합니다.
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개
알려주신 소스대로하면 3,4번 체크 안한것도 o 표시가 되버리네요ㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인