2011-12-04 4 views
0

데이터베이스 (PHP 및 JQUERY)에 5 열 이내의 체크 박스 값을 저장하는 방법은 무엇입니까?체크 박스의 값을 데이터베이스에 5 열로 저장하십시오.

PHP 코드는 6 열입니다. 5 열에는 데이터베이스에서 반복되는 체크 박스가 있습니다.

--- PHP -----------------------------------

 <table id="tblISP" border="0">   
    <tr> 
     <th style="width:20px"> 
     </th> 
     <th> 
      MenuID 
     </th> 

     <th> 
      Menu 
     </th> 
     <th> 
      Delete 
     </th> 
     <th> 
      Upddate 
     </th> 
     <th> 
      View 
     </th> 
     <th> 
      Save 
     </th> 
    </tr> 
    <tr> 
     <td>ALL <input type="checkbox" class="menuiddd" name="checkmenuid" id="checkmenuid"/></td> 
     <td>&nbsp;</td> 
     <td>&nbsp;</td> 
     <td>ALL<input type="checkbox" class="menuidddel" name="checkdelete" id="checkdelete"/></td> 
     <td>ALL<input type="checkbox" class="menuiddupdate" name="checkupdate" id="checkupdate"/></td> 
     <td>ALL<input type="checkbox" class="menuiddview" name="checkview" id="checkview"/></td> 
     <td>ALL<input type="checkbox" class="menuiddsave" name="checksave" id="checksave"/></td> 
    </tr> 
         <tr> 
     <td> 

       <input type="checkbox" class="menuiddd" name="idd[]" id="idd[]" value="<?php echo $row["mid"]; ?>"/> 
     </td> 
     <td> 
      <?php echo $row["mid"]; ?> 
     </td> 
     <td> 
      <?php echo $row["mname"]; ?> 
     </td>  
     <td> 
      <input type="checkbox" class="menuidddel" name="del[]" id="del[]" value="chkdel" /> 
     </td> 
     <td> 
      <input type="checkbox" class="menuiddupdate" name="upd[]" id="upd[]" value="chkupd" /> 
     </td> 
     <td> 
      <input type="checkbox" class="menuiddview" name="vie[]" id="vie[]" value="chkvie" /> 
     </td> 
     <td> 
      <input type="checkbox" class="menuiddsave" name="sav[]" id="sav[]" value="chksav" /> 
     </td> 
    </tr> 

     <tr> 
     <td colspan="3"> 
      <!--<a id="hlsa" href="javascript:exit(0);">Select All</a> 
      <a id="hldsa" href="javascript:exit(0);">DeSelect All</a>--> 
     </td> 
    </tr> 
    <tr> 
     <td colspan="3" align="center"> 
      <hr/> 
      <input type="button" value="Save" id="btSave" name="btSave" style="cursor:pointer;float:none" class="allbutton"> 
     </td> 
    </tr> 
    <tr> 
     <td colspan="3" id="dvProc1" align="center"> 

     </td> 
    </tr> 
    </table>Save check-box value within 5 columns to database 

------------------ Jquery ------------

Jquery 반응 클릭하면 버튼 저장 후 확인란에서 정보 얻기 데이터베이스에 저장 .

$(document).ready(function(){ 

      $("#btSave").unbind(); 
      $("#btSave").click(function(){   

       var idd = []; 
       var del = []; 
       var upd = []; 
       var vie = []; 
       var sav = []; 

       $("input[name='idd[]']:checked").each(function() { 
        idd.push($(this).val()); 
       }); 

       $("input[name='del[]']:checked").each(function() { 
        del.push($(this).val()); 
       }); 

       $("input[name='upd[]']:checked").each(function() { 
        upd.push($(this).val()); 
       }); 

       $("input[name='vie[]']:checked").each(function() { 
        vie.push($(this).val()); 
       }); 

       $("input[name='sav[]']:checked").each(function() { 
        sav.push($(this).val()); 
       }); 


       var mainarray=[idd,del,upd,vie,sav]; 
       var transposed = mainarray.transpose(); 

       //-----------------------alert(str);--note--need return------------- 
       alert(transposed.join(';')); 

      }) 


      $("#checkmenuid").click(function(){ 
       $('.menuiddd').attr('checked', $(this).is(':checked') ? 'checked' : ""); 
      }); 


      $("#checkdelete").click(function(){ 
       $('.menuidddel').attr('checked', $(this).is(':checked') ? 'checked' : ""); 
      }); 

      $("#checkupdate").click(function(){ 
       $('.menuiddupdate').attr('checked', $(this).is(':checked') ? 'checked' : ""); 
      }); 


      $("#checkview").click(function(){ 
       $('.menuiddview').attr('checked', $(this).is(':checked') ? 'checked' : ""); 
      }); 


      $("#checksave").click(function(){ 
       $('.menuiddsave').attr('checked', $(this).is(':checked') ? 'checked' : ""); 
      }); 

}); 

</script> 

답변

0

는 내가 질문을 식별 한 완전히 모르겠지만, 당신이 어떤 jQuery를 처리하기 전에 당신은 어떤 자바 스크립트없이 작동하는 시스템을 구축해야한다. 양식의 제출을 ​​처리하기위한 비표준 메소드를 정의하는 대신 비동기 적 제출을 처리 할 수있는 깨끗한 자바 레이어를 추가하기 전에 정상적으로 작성할 수 있습니다.

먼저 입력 요소를 양식 요소에 래핑 한 다음 전역 $ _POST 배열을 분석하고 필요에 따라 다양한 데이터베이스 명령을 실행하는 PHP 스크립트를 작성해야합니다. 이 PHP 레이어를 사용하여 사용자가 폼에서 선택한 항목에 따라 데이터베이스에 어떤 호출을해야하는지 식별하는 로직을 사용할 수 있습니다. 선택하지 않은 체크 박스는 실제로 POST 요청에서 보내지지 않으므로 PHP에서 isset()을 사용하여 선택하지 않았는지 확인해야합니다. 그 배열 일단

, 당신은 비동기 적 양식을 제출 jQuery를 사용할 수 있으며, 당신은 페이지 새로 고침 발생하지 않습니다 : 귀하의 의견에 대한

$(function() { 
    $('form#yourformid').submit(function(event) { 
     event.preventDefault(); // stop the page from redirecting 

     // serialise your form's data, and send it in a POST request 
     // to the form's action attribute 
     $.post(
      $(this).attr('action'), 
      $(this).serialize(), 
      function() { 
       alert('Data successfully saved.'); 
      }); 
    }); 
}); 
+0

감사 순전히 –

관련 문제