2017-07-30 7 views
-1

複数のチェックボックスをチェックする必要があるチェックリストがあり、各チェックボックスの合計価格を計算して表示する必要があります。問題は、チェックボックスをデータベースに挿入する必要があることです。だから私はisset()関数を使用しているときにエラーが発生しています。ですから、私は代わりにjqueryを使用し、IDをデータベースに送信することを考えていますが、それを行う方法はわかりません。jqueryを使用してデータベースにチェックボックスIDを送信

<form method="post" action="#"> 
      <div class="agileinfo_services_grids"> 
       <?php 
        $sql = "SELECT * FROM services"; 
        $result = mysqli_query($connection, $sql); 
        $num_rows = mysqli_num_rows($result); 

        if($num_rows > 0) { 
         while ($row = mysqli_fetch_assoc($result)) { 

          $price = $row['price']; 
          $id = $row['id']; 
          echo "<div class='col-md-4 agileinfo_services_grid'> 
            <div class='agileinfo_services_grid1'> 
             <div class='price'><h3>$" . $row['price'] . "</h3></div> 
             <h4>" . $row['title'] . "</h4> 
             <p>" . $row['details'] . "</p> 
             <div class='agileinfo_services_grid1_pos'> 
              <input id='$id' name:'checkbox[]' class='icon-checkbox my-activity' type='checkbox' value='$price'/> 
              <label for='$id'> 
               <span class='glyphicon glyphicon-unchecked unchecked'></span> 
               <span class='glyphicon glyphicon-check checked'></span> 
              </label> 
             </div> 
            </div> 
           </div>";    
         } 
        } else { 
         echo "No Current Services Available"; 
        } 
       ?> 
      </div> 
      <div class="total"> 
      <div class="total-left"> 
       <p>Total :<span>$<input type="text" id="amount" readonly></span> 
      </div> 
      <div class="total-right"> 
       <input type="submit" value="Check Out" name="submit"> 
      </div> 
      <div class="clear"> </div> 
     </div> 
     </form> 

以下は、チェックボックスの合計価格を計算するために使用した関数です。チェックボックスのIDもデータベースに送信するように変更するにはどうすればよいですか。

<script type="text/javascript"> 
    $(document).ready(function() {   
     $(".my-activity").click(function(event) { 
      var total = 0; 
      $(".my-activity:checked").each(function() { 
       total += parseInt($(this).val()); 
       $.post("services.php", {id: this.id, checked:this.checked}); 
      }); 

      if (total == 0) { 
       $('#amount').val(''); 
      } else {     
       $('#amount').val(total); 
      } 
     }); 
    });  
</script> 
+0

をSOへようこそ。何がどのように求められるかを確認するには、[help]をご覧ください。ヒント:作業量とコード。この場合、[あなたのタイトルのGoogle検索](https://www.google.com/search?q=send+checkbox+to+php+jquery) – mplungjan

答えて

0

選択したIDをデータベースに送信するには、この手順に従います。

HTML:

<div id="checkboxes"> 
    <input id="chkbx_0" type="checkbox" name="c_n_0" checked="checked" />Option 1 
    <input id="chkbx_1" type="checkbox" name="c_n_1" />Option 2 
    <input id="chkbx_2" type="checkbox" name="c_n_2" />Option 3 
    <input id="chkbx_3" type="checkbox" name="c_n_3" checked="checked" />Option 4 
</div> 

このjqueryのスクリプトを使用します

var selected_ids = []; 
$('#checkboxes input:checked').each(function() { 
    selected_ids.push($(this).attr('id')); 
}); 

/* to sending ids to database using ajax */ 
$.ajax({ 
    type: 'POST', 
    url: 'test.php', 
    data: { selected_ids: selected_ids }, 
    success: function(response) { 
     alert(response); 
    } 
}); 
+0

ありがとうございます。データベース内のID。私はtest.phpの配列をvar_dumb($ _ POST)と入力するだけで管理しました –

+0

IDを挿入するテーブル構造は何ですか? –

+0

私はuser_idとタイムスタンプを挿入する必要があるordersというテーブルを持っています注文が提出されたとき。 2番目に、order_idとservice_id(実際にはチェックボックス)を持つs​​erviceOrderテーブルがあります。 あなたのクイックレスポンス –

関連する問題