Javascript 使用HTML/PHP/AJAX将行插入数据库

Javascript 使用HTML/PHP/AJAX将行插入数据库,javascript,php,html,ajax,sql-insert,Javascript,Php,Html,Ajax,Sql Insert,我有一个可以点击的按钮,它会弹出一个带有一个文本字段的弹出框。每当我输入某个内容并单击“添加”时,我都希望它被插入到我的数据库中 当前,当我单击“添加”时,它将插入数据库,但不会读取输入的值。因此,只需输入一个空值。我没有看到任何错误,但是在我的JavaScript中,我执行了一个console.log(dict),日志中的输出是Object{},因此看起来输入的值没有被记录。我也在日志中成功地插入了一行消息,所以我肯定会认为这只是一个能够读取值的问题 所以我的问题是如何让它读取值并成功地将其输

我有一个可以点击的按钮,它会弹出一个带有一个文本字段的弹出框。每当我输入某个内容并单击“添加”时,我都希望它被插入到我的数据库中

当前,当我单击“添加”时,它将插入数据库,但不会读取输入的值。因此,只需输入一个空值。我没有看到任何错误,但是在我的JavaScript中,我执行了一个
console.log(dict)
,日志中的输出是
Object{}
,因此看起来输入的值没有被记录。我也在日志中成功地插入了一行消息,所以我肯定会认为这只是一个能够读取值的问题

所以我的问题是如何让它读取值并成功地将其输入数据库

添加按钮的HTML:

<td><button class="create-user" id="insertButton">Add Group</button></td>
insert-group.php脚本:

<?php

  $SKU_Group = $_POST['SKU Group'];

  $host="xxxxxxxxxxx"; 
  $dbName="xxxxxxx"; 
  $dbUser="xxxx"; 
  $dbPass="xxxxxxxxxxxxxx";

  $pdo = new PDO("sqlsrv:server=".$host.";Database=".$dbName, $dbUser, $dbPass);

  $sql = "INSERT INTO SKU_Group_Dim ([SKU Group]) VALUES (?)";

  $stmt = $pdo->prepare($sql);
  $result = $stmt->execute(array($SKU_Group));
  echo json_encode($result);

?>

编辑

我的html表格:

<table id="skuTable" cellspacing="5" class="ui-widget ui-widget-content">
    <thead>
        <tr class="ui-widget-header">
            <th class="skuRow">SKU Group</th>
            <th class="skuRow">Group ID</th>
            <th class="skuRow">Edit</th>
            <th class="skuRow">Delete</th>
        </tr>
    </thead>
    <tbody>

        <?php foreach ($dbh->query($sql_table) as $rows) { ?>

        <tr>
            <td class="sku_group" id="sku_group-<?php echo intval ($rows['SKU Group'])?>"><?php echo $rows['SKU Group']?></td>
            <td class="group_id" align="center" id="group_id-<?php echo intval ($rows['Group_ID'])?>"><?php echo $rows['Group_ID']?></td>
            <td><button type="button" class="edit" name="edit">Edit</button></td>
            <td><button type="button" class="delete" onclick="deleteRow(this)">Delete</button></td>
        </tr>
    <?php
        }
    ?>
    </tbody>
</table>

SKU组
组ID
编辑
删除
编辑
删除
您的值不好 尝试改变

var value = $(this).val();


尝试将您的
$功能更改为
$tr.each
。我认为你应该提供一些东西让它迭代。这是你的电话号码。 如果您想迭代所有的,您必须将td添加到jquery调用中

我的解决方案如下所示:

    var $tr = $( "#skuTable tbody tr td" ).eq(0).clone();  //get all td of sku-table
    var dict = {};
    $tr.each(function(){
      var type = $(this).attr('id');    // get value of current tr
      var value = $(this).html();       // get html content inside of tr

      switch (type) {
        case "group":
            dict["SKU Group"] = value;
            break;
        }
    });

    $('#group').val(dict['SKU Group']);  // set value of the input field

请与我共享对象的内容或控制台错误。如果不发送console.log的返回(类型+“:”+值);谢谢,我没有收到任何错误…对象中没有任何内容,我在控制台中看到的唯一内容是
object{}
…而且无论出于何种原因,我在控制台中没有收到
console.log(type+“:”+value)的任何内容由于boroboris修复了代码中的某些内容…我的console.log输出现在是
未定义:
console.log的输出是什么(type+“:”+value);(内部。每个函数?出于某种原因,我没有得到它的输出检查我下面的答案。我认为它不起作用,因为每个函数都没有迭代,程序只是跳过它。是的,我刚刚意识到……输出是
未定义的:
我已经更新了答案。根据我收集的信息,你想迭代所有的tr并得到答案继承人的值和类型?您的表是什么样子的?我刚刚更新了我的原始帖子,以包括我的表以及
console.log(type+“:”+value)的新输出
现在是
sku组-0:
是的,但是现在这个函数正在迭代tr元素。你只需要获取你需要的信息。我仍然不确定你到底需要哪些信息?sku组的id和tr组的html?我需要弹出框中这行代码的信息
var value = $(this).val();
var value = $(this).find('input[type=text]').val();
    var $tr = $( "#skuTable tbody tr td" ).eq(0).clone();  //get all td of sku-table
    var dict = {};
    $tr.each(function(){
      var type = $(this).attr('id');    // get value of current tr
      var value = $(this).html();       // get html content inside of tr

      switch (type) {
        case "group":
            dict["SKU Group"] = value;
            break;
        }
    });

    $('#group').val(dict['SKU Group']);  // set value of the input field