여러 체크박스 체크하고, 또 수정할 경우에 체크된 상황을 그대로 보여주는,,,
너무 부족한 코드가 누군가에게 필요할까요?
리크루트 등에서 워낙 체크박스가 많아서...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에서 해주시기 바랍니다.
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 5066 | 기타 |
DogFoot개발
|
4년 전 | 1818 | |
| 5065 | PHP |
DogFoot개발
|
4년 전 | 1528 | |
| 5064 | PHP |
happyl
|
4년 전 | 1916 | |
| 5063 | node.js |
DogFoot개발
|
4년 전 | 1674 | |
| 5062 | node.js |
DogFoot개발
|
4년 전 | 1691 | |
| 5061 | node.js |
DogFoot개발
|
4년 전 | 1414 | |
| 5060 | node.js |
DogFoot개발
|
4년 전 | 1254 | |
| 5059 | node.js |
DogFoot개발
|
4년 전 | 1249 | |
| 5058 | 기타 |
DogFoot개발
|
4년 전 | 2697 | |
| 5057 | 웹서버 |
DogFoot개발
|
4년 전 | 2726 | |
| 5056 | MySQL | 4년 전 | 1504 | ||
| 5055 | 기타 | 4년 전 | 1435 | ||
| 5054 | OS | 4년 전 | 2069 | ||
| 5053 | 웹서버 | 4년 전 | 3631 | ||
| 5052 | OS | 4년 전 | 2423 | ||
| 5051 | PHP | 4년 전 | 2187 | ||
| 5050 | 웹서버 | 4년 전 | 1718 | ||
| 5049 | MySQL | 4년 전 | 1898 | ||
| 5048 | OS | 4년 전 | 2702 | ||
| 5047 | PHP | 4년 전 | 4373 | ||
| 5046 | MySQL | 4년 전 | 1819 | ||
| 5045 | MySQL | 4년 전 | 1943 | ||
| 5044 | MySQL | 4년 전 | 4133 | ||
| 5043 | MySQL | 4년 전 | 1890 | ||
| 5042 | 기타 |
|
4년 전 | 2635 | |
| 5041 | MySQL | 4년 전 | 1998 | ||
| 5040 | MySQL | 4년 전 | 1724 | ||
| 5039 | MySQL | 4년 전 | 1497 | ||
| 5038 | MySQL | 4년 전 | 1336 | ||
| 5037 | OS | 4년 전 | 4432 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기