【问题标题】:Inserting data using checkbox - PDO使用复选框插入数据 - PDO
【发布时间】:2018-08-13 07:40:32
【问题描述】:

我有复选框,谁被选中。这将插入我的table:inclusion。 我想插入数据,使用复选框和其他文本框,但我不知道使用复选框插入数据,请帮我解决这个问题!蒂亚!

Error: Invalid argument supplied for each()

这是我的代码:

//script
 $(document).on('submit', '#user_form', function(event){
  event.preventDefault();
  var roomname = $('#text_name').val();
  var id = [];  
   $(':checkbox:checked').each(function(i){
    id[i] = $(this).val();
   });
  if(roomname != '')
  {
   $.ajax({
    url:"insert.php",
    method:'POST',
    data:new FormData(this),
    // data: {inclusion_name:inclusion_name},
    contentType:false,
    processData:false,
    success:function(data)
    {
     alert(data);
     $('#user_form')[0].reset();
     $('#userModal').modal('hide');
     dataTable.ajax.reload();
    }
   });
  }
  else
  {
   alert("Both Fields are Required");
  }
 });

插入.php

$statement = $connection->prepare("
   INSERT INTO rooms (roomname) 
   VALUES (:text_name)
  ");
  $result = $statement->execute(
   array(
    ':text_name' => $_POST["text_name"]
   )
  );

foreach($_POST["id"] as $id)
 {
  $statement = $connection->prepare("
   INSERT INTO inclusion (inclusion) 
   VALUES (:id)
  ");

  $result = $statement->execute(
   array(
    ':id' => $_POST["id"]
   )
  );
 }

【问题讨论】:

  • 复选框是布尔值,表示它们是真还是假。您可能想要插入 MySQL TINYINT。可能值得包含一些复选框的代码 sn-p 以便人们可以更好地帮助您:)
  • 如何创建一个 sn-p? @威尔
  • 从您的复选框中复制粘贴 HTML 代码并像其他人一样格式化:)

标签: php ajax pdo


【解决方案1】:

当一个复选框没有被选中时,它不会发送任何东西。就 php 而言,它不会存在。

对于复选框,您将希望通过使用与复选框同名的隐藏表单来获得“备份”值。

<input type="hidden" name="something_checkbox" value="0">
<input type="checkbox" name="something_checkbox">

如果选中该复选框,则会发送 1。 如果未选中该复选框,则隐藏表单提供的“默认”值将发送 0。

【讨论】:

    猜你喜欢
    • 2021-08-06
    • 2020-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多