2011-12-04 13 views
0

5列以内のチェックボックスの値をデータベース(PHPおよびJQUERY)に保存する方法は?チェックボックスの値をデータベースに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を扱う前に、あなたはどんなjavascriptをせずに機能するシステムを構築する必要があります。フォームの提出を処理するための非標準的なメソッドを定義するのではなく、非同期の送信を処理するためのJavaScriptのクリーンなレイヤーを追加する前に、通常の方法で単純に記述することができます。

まず入力要素をフォーム要素にラップし、グローバル$ _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

感謝そんなに –

関連する問題