여러 체크박스 체크하고, 또 수정할 경우에 체크된 상황을 그대로 보여주는,,,
너무 부족한 코드가 누군가에게 필요할까요?
리크루트 등에서 워낙 체크박스가 많아서...w write m modify
여러 체크박스 체크하고 저장했을 때, 체크박스의 값이 쉼표로 디비에 저장되는 경우,
그 페이지를 수정할 경우에 체크된 상황을 그대로 보여주는 함수입니다.
디비에는 순서대로 쉼표로 체크박스의 값들이 섞여저장되어는 경우에.. .
수정페이지에 들어갔을 때 제대로 골라서 체크된 값들만을 체크해주는 함수입니다.
function showCheckbox4wm($mainStrArr, $mainValArr, $colname, $subArr)
{
$idxArr = array();
if (!empty($subArr)) {
for ($i = 0; $i < sizeof($subArr); $i++) {
// 인덱스를 가져온다.
$temp = array_keys($mainValArr, $subArr[$i]);
// print_r2($temp[0]);
if(sizeof($temp) > 0){
$idxArr[] = $temp[0]; // 발견한 처음 인덱스만 모으면 된다.
}
}
sort($idxArr);
}
// 배열을 값의 크기대로 소팅을 한번 해준다. 아래 for문에서 순차적 검색을 해야하므로...
// print_r2($idxArr);
// print_r2($subArr);
echo "<ul>";
for ($i = 0; $i < sizeof($mainStrArr); $i++) {
//
if (!empty($subArr)) {
$checked = (in_array($i, $idxArr)) ? "checked" : "";
} else {
$checked = '';
}
echo "
<li>
<input type=\"checkbox\" name=\"{$colname}[{$i}]\" id=\"{$colname}_{$i}\" value=\"{$mainValArr[$i]}\" {$checked}>
<label for=\"{$colname}_{$i}\">{$mainStrArr[$i]}</label>
</li>
";
}
echo "</ul>";
}
예제,
$recruit_11ArrMain = array("국민연금", "건강보험", "고용보험", "산재보험", "건강검진", "차량유료보조금", "각종경조금");
$recruit_11ArrSub = "산재보험,건강검진,고용보험";
showCheckbox4wm($recruit_11ArrMain, $recruit_11ArrMain, "recruit_11", $recruit_11ArrSub);
일 때 나열되고, sub문자열에 있는 항목들이 체크되어 보여지도록 됩니다.
정성스럽게 만들어진 예제나 설명이 아니고 거칠어서 죄송합니다. Orz
게시판 목록
개발자팁
질문은 QA에서 해주시기 바랍니다.
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 4916 | 웹서버 | 6년 전 | 2861 | ||
| 4915 | PHP |
|
6년 전 | 2179 | |
| 4914 | 웹서버 | 6년 전 | 1889 | ||
| 4913 | JavaScript | 6년 전 | 2596 | ||
| 4912 | node.js | 6년 전 | 3708 | ||
| 4911 | 기타 | 6년 전 | 4189 | ||
| 4910 | 기타 | 6년 전 | 2275 | ||
| 4909 | 기타 | 6년 전 | 1980 | ||
| 4908 | 기타 | 6년 전 | 2011 | ||
| 4907 | Mobile | 7년 전 | 2282 | ||
| 4906 | JavaScript | 7년 전 | 2286 | ||
| 4905 | 기타 | 7년 전 | 2270 | ||
| 4904 | jQuery | 7년 전 | 2512 | ||
| 4903 | PHP | 7년 전 | 5223 | ||
| 4902 | jQuery | 7년 전 | 5127 | ||
| 4901 | 기타 | 7년 전 | 2705 | ||
| 4900 | MySQL | 7년 전 | 4110 | ||
| 4899 | 기타 | 7년 전 | 2264 | ||
| 4898 | 웹서버 | 7년 전 | 2447 | ||
| 4897 | MySQL | 7년 전 | 2198 | ||
| 4896 | MySQL | 7년 전 | 2632 | ||
| 4895 | JavaScript | 7년 전 | 9768 | ||
| 4894 | 웹서버 | 7년 전 | 2355 | ||
| 4893 | 기타 | 7년 전 | 8314 | ||
| 4892 | jQuery | 7년 전 | 5678 | ||
| 4891 | 기타 | 7년 전 | 2830 | ||
| 4890 | PHP | 7년 전 | 3413 | ||
| 4889 | JavaScript | 7년 전 | 6374 | ||
| 4888 | MySQL | 7년 전 | 3132 | ||
| 4887 | MySQL | 7년 전 | 2761 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기