使用ajax和php在数组表中插入数据库中的值

时间:2016-01-23 03:56:41

标签: php jquery ajax

帮助我使用ajax和php从我的表中插入数组输入数据。我有单独的php文件,但此刻它是空白的。

这是我目前的html + php代码:

<form class='form-horizontal form-validate' id="form">
<?php
echo "<table id='example' class='table table-bordered'>
<thead>
<tr>
<th>Category</th>
<th>Last Qtr Average time</th>
<th>Target time</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Category</th>
<th>last Qtr Average time</th>
<th>Target time</th>
</tr>
</tfoot>
<tbody>";
$get_category_query = "select * from daily_checklist_category order by category asc";
$get_category_result = mysql_query($get_category_query) or die(mysql_error());
while($count_rows = mysql_fetch_row($get_category_result)){
echo'<tr>';
echo'<td>'.$count_rows[1].'</td>';
echo'<td id="fucktime[]">'.$count_rows[2].'</td>';
echo'<td><input type="text" value="'.$count_rows[3].'" id="cat_rows[]"/></td>';
echo'</tr>';                                    
}
echo "</tbody>

</table>";
?>
<div class="form-actions">
<input type="submit" id="finish" class="btn btn-primary" value="Submit">
</div>

这是我的ajax:

$(document).ready(function(){

  $('#form').ajaxForm(function(){
    //$("#loading").fadeIn();

    var catRows = $('#cat_rows[]').val();
    $.ajax({
        type: "GET",
        data: $('#form').serialize(),
        url: 'pages/scripts/insert_daily_checklist_category.php',
        cache: false,
        success:function(data){
            alert('Daily Checklist Categories are now updated.');
        }
    });
  });

});

需要帮助。

2 个答案:

答案 0 :(得分:1)

您的代码中的问题是,您没有在输入字段中使用名称字段:

<input type="text" value="'.$count_rows[3].'" id="cat_rows[]"/>

这应该是:

<input type="text" name="cat_rows[]" value="'.$count_rows[3].'" id="cat_rows"/>

在jQuery中:

您需要将此值设为:

var catRows = $('#cat_rows').val();

旁注:

我假设您在原始文件中使用 结束标记。

同时使用 mysqli_ PDO 因为 mysql _ 扩展名已弃用,以PHP 7提供。

答案 1 :(得分:0)

首先将name属性添加到输入表单元素中,如下所示。

 if (requestCode == 1) { //set your requestcode whichever you are using
        //super.onActivityResult(requestCode, resultCode, data); 
        //dont forget to comment this.

        Fragment fragment = (Fragment) getSupportFragmentManager().findFragmentByTag("tag");
        if(fragment != null){
            fragment.onActivityResult(requestCode, resultCode, data);
        }
}

并且您已经在使用 ajaxForm jquery,因此不需要将任何其他的ajax语句写入回调。你的 ajaxForm jquery会是这样的。

jQuery示例 -

echo '<td><input type="text" name="cat_rows[]" value="'.$count_rows[3].'" id="cat_rows_'.$count_rows[3].'"/></td>';