点击按钮我已经在ajax的帮助下获取(列表)数据现在我想将这些数据插入(提交)到另一个表

时间:2017-05-20 12:16:25

标签: php jquery ajax

提交表格后,我没有在页面上获得发布数据。 这是index.php

<!DOCTYPE html>
<html>
<head>
<title>employee list</title>
</head>
<body>
<select name="fetch" >
<option value='emp_id'>multiple names of employee </option>
</select>
<form method="post" action="addempaonthertbl.php">
<table>
<thead>
<tr>
<th>Id</th>
<th>Name</th>
<th>Batch no</th>
<th>Address</th>
</tr>
</thead>
<tbody id="listing">
</tbody>
</table>
<input type="submit" name="submit" value="add">
</form>
</body>
</html>
更改下拉列表后

脚本运行

<script>
$(document).ready(function(){
$("fetch").change(function()
{
$.ajax({
type: 'POST', 
data: 'emp_id='+emp_id,     
url: 'fetch.php' ,
success: function(response)
{
jQuery('#listing').html(response);
}
});
});
});
</script>        

fetch.php

中员工的所有获取详细信息
$result = $this->db->query(" select * from tbl_emp where emp_id ='$emp_id'")->result_array();
$x = 1;
foreach($result as $row)
{
$pid = $row['prodid'];
echo "<tr>";
echo "<td>". $x++. "</td>";
echo "<td>".$row['name']. "</td>";
echo "<td>".$row['batchno']. "</td>";
echo "<td>".$row['address']. "</td>";
echo "</tr>";
}

我添加了一些代码并修改了一些部分,但帖子仍然无法提交。 我该如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

您不能像使用Javascript一样使用Select name。您可以在选择选项中使用id,而不是在javascript中使用该ID。

试用此代码

<!DOCTYPE html>
<html>
   <head>
      <title>employee list</title>
   </head>
   <body>
      <select name="fetch" id="fetch">
         <option value='emp_id'>multiple names of employee </option>
      </select>
      <form method="post" action="addempaonthertbl.php">
         <table>
            <thead>
               <tr>
                  <th>Id</th>
                  <th>Name</th>
                  <th>Batch no</th>
                  <th>Address</th>
               </tr>
            </thead>
            <tbody id="listing"></tbody>
         </table>
         <input type="submit" name="submit" value="add">
      </form>
   </body>
</html>

<script>
    $(document).ready(function() {
        $("#fetch").change(function() {
            $.ajax({
                type: 'POST',
                data: 'emp_id=' + emp_id,
                url: 'fetch.php',
                success: function(response) {
                    jQuery('#listing').html(response);
                }
            });
        });
    });
</script>

答案 1 :(得分:0)

您需要确保自己与fetch.php位于同一文件夹中,否则会将POST发送到无效位置。您的选择器也有问题。变化

$("fetch").change(function()

$("select[name=fetch]").change(function()

答案 2 :(得分:0)

我认为您可以直接在循环中插入表中的每个foreach循环。例如,如果您使用pdo

$db = new PDO('...');
foreach($result as $row){ 
    $stmt = $db->prepare('INSERT INTO tbl SET name=?,batchno=?,address=?'); 
    $stmt->execute([$row['name'], $row['batchno'], $row['address']]);
    //...
}