2026, 새로운 도약을 시작합니다.

여러 체크박스 체크하고, 또 수정할 경우에 체크된 상황을 그대로 보여주는,,,

너무 부족한 코드가 누군가에게 필요할까요? 

리크루트 등에서 워낙 체크박스가 많아서...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에서 해주시기 바랍니다.

+
번호 분류 제목 글쓴이 날짜 조회
5402 MySQL 1주 전 조회 24
5401 JavaScript 3주 전 조회 118
5400 MySQL 1개월 전 조회 225
5399 PHP 2개월 전 조회 472
5398 PHP 2개월 전 조회 355
5397 PHP 2개월 전 조회 287
5396 기타 5개월 전 조회 560
5395 PHP 6개월 전 조회 1,197
5394 MySQL 7개월 전 조회 794
5393 웹서버 9개월 전 조회 987
5392 1년 전 조회 1,314
5391 11개월 전 조회 1,321
5390 11개월 전 조회 1,114
5389 10개월 전 조회 1,033
5388 10개월 전 조회 1,173
5387 9개월 전 조회 963
5386 JavaScript 9개월 전 조회 1,151
5385 웹서버 9개월 전 조회 1,170
5384 JavaScript 10개월 전 조회 992
5383 기타 11개월 전 조회 1,418
5382 기타 11개월 전 조회 662
5381 JavaScript 11개월 전 조회 1,084
5380 기타 11개월 전 조회 834
5379 JavaScript 11개월 전 조회 832
5378 1년 전 조회 1,399
5377 기타 1년 전 조회 941
5376 jQuery 1년 전 조회 641
5375 jQuery 1년 전 조회 873
5374 기타 1년 전 조회 950
5373 MySQL 1년 전 조회 982
🐛 버그신고