PHP에 체크박스 in_array 문법질문 채택완료
godglee
4년 전
조회 1,301
</p>
<p> function member_list()
{
global $g5;
$check1 = explode(',', $write['wr_5']);
$sqlv = "select * from $g5[member_table] where mb_level < 6";
$resultv = sql_query($sqlv);
for ($v=0; $row=sql_fetch_array($resultv); $v++)
{
$str .= "\n".'<input type="checkbox" name="check1[]" value="'.$row['mb_name'].'" <span style="color:#e74c3c;">'in_array(.$row['mb_name'].,$check1)?'checked="checked"':'""';' </span>> '."\n".' <label for="wr_5">'.$row['mb_name'].'</label>';
}
return $str;
}
write_skin.php파일에서
체크박스 저장된 배열, 수정시 체크된 상태로 하려고 합니다.
'in_array(.$row['mb_name'].,$check1)?'checked="checked"':'""';'
저부분이 틀렸는데 여러번 적어봐도 어디 틀렸는지 모르겠네요, 고수님들 지적해 주세요~
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
4년 전
일단 삼항연산자로 하셨어야하는데 기본문법이 잘못되었고,
잘못 삽입하였습니다.
이렇게 한번 해보셔요~
</p>
<p> function member_list()
{
global $g5;
$check1 = explode(',', $write['wr_5']);
$sqlv = "select * from $g5[member_table] where mb_level < 6";
$resultv = sql_query($sqlv);
for ($v=0; $row=sql_fetch_array($resultv); $v++)
{
$checked = ( in_array($row['mb_name'],$check1) )?'checked="checked"':'""';</p>
<p> $str .= "\n".'<input type="checkbox" name="check1[]" value="'.$row['mb_name'].'" '.$checked.' > '."\n".' <label for="wr_5">'.$row['mb_name'].'</label>';
}
return $str;
}</p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 5개
g
godglee
4년 전
마찬가지로 수정페이지에서는 체크되지 않네요,
g
godglee
4년 전
마찬가지로 수정페이지에서는 체크되지 않네요,
혹시, 수정페이지에 값을 가져오지 못하는건 아닐까요?
혹시, 수정페이지에 값을 가져오지 못하는건 아닐까요?
D
DogFoot개발
4년 전
function member_list()
{
global $g5,$write;
$check1 = explode(',', $write['wr_5']);
$sqlv = "select * from $g5[member_table] where mb_level < 6";
$resultv = sql_query($sqlv);
for ($v=0; $row=sql_fetch_array($resultv); $v++)
{
$checked = ( in_array($row['mb_name'],$check1) )?'checked="checked"':'""';
$str .= "\n".'<input type="checkbox" name="check1[]" value="'.$row['mb_name'].'" '.$checked.' > '."\n".' <label for="wr_5">'.$row['mb_name'].'</label>';
}
return $str;
}
{
global $g5,$write;
$check1 = explode(',', $write['wr_5']);
$sqlv = "select * from $g5[member_table] where mb_level < 6";
$resultv = sql_query($sqlv);
for ($v=0; $row=sql_fetch_array($resultv); $v++)
{
$checked = ( in_array($row['mb_name'],$check1) )?'checked="checked"':'""';
$str .= "\n".'<input type="checkbox" name="check1[]" value="'.$row['mb_name'].'" '.$checked.' > '."\n".' <label for="wr_5">'.$row['mb_name'].'</label>';
}
return $str;
}
D
DogFoot개발
4년 전
또 한가지 방법은 member_list($write)인자를 받아서 처리하셔야합니다.
g
godglee
4년 전
이제 됩니다. 감사합니다.
댓글을 작성하려면 로그인이 필요합니다.
4년 전
'in_array(.$row['mb_name'].,$check1)?'checked="checked"':'""';'
'.in_array($row['mb_name'],$check1)?'checked="checked"':'""'.'
로그인 후 평가할 수 있습니다
답변에 대한 댓글 3개
g
godglee
4년 전
checked="checked" 만 배열개수만큼 나와요,
P
Policia
4년 전
member_list 함수에 파라미터를 추가해주셔서 정보를 받아야합니다
function member_list($write)
이렇게 하고
사용하실때 mebmer_list($write) 정보를 담아서 보내주세요
function member_list($write)
이렇게 하고
사용하실때 mebmer_list($write) 정보를 담아서 보내주세요
g
godglee
4년 전
답변 감사합니다. DogFoot개발님꺼로 하니까 잘되네요,
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인