首页 > 解决方案 > ajax 和 SQL 在附加行上显示数据库值

问题描述

我开始学习 ajax 来更新我的 SQL 而不刷新页面,我已经成功地让删除功能工作,以及添加一个新行,但是它没有显示正确的信息。如何使用 ajax 在 PHP 中获得相同的值?添加新行时,我的 ajax curaccid 也不显示任何 html。我已经看了几个小时的其他帖子,但似乎无法理解如何在我的情况下实施其他响应,

我真的很感谢您的帮助,这是我一直想学习的东西,所以感谢您的宝贵时间!

html:

     <form  method="post" >
<table>
<tr><td></td></tr>

<tr style="background-color:#F9F9F9; height:10px !important;"> 
<td style="width: 80%; border-bottom:1px solid #DEDEDE;" ><?php include ("components/hourincome.php"); ?> 
 <span style="float:left; padding-left:6px; font-weight:bold;">Hours:</span> <input  style="padding-left:10px;  float:left; margin:0px; width:40px; border: 0px solid black; background-color: Transparent;" name="hours" class="p1" id="hours"/>
</td> 
<td style="width:15%; border-bottom:1px solid #DEDEDE; padding-right:5px;" >

<input style="float:left; width:100%; height:20px;" name="wage" id="wage" type="text" placeholder="wage"/>
</td> 

<td style = "border-bottom: 1px solid #DEDEDE; width: 5%;"> 
 <span href="#" id="<?php $row["accid"] ?>" class="addincomerow" style="font-size:14px; width: 30px; color:white; background-color:#51E77C; padding: 5px; border: 0px solid white; text-decoration:none !important;">
   <i class="material-icons" style="font-size: 15px; "><div class=" clickable-clear">add</div></i>  
 </span>

</td> 
</tr>

</table>
</form>

我的阿贾克斯:

 $(function(){
    $(document).on('click','.addincomerow',function(){
        var curaccid= $(this).attr('id');
        var $ele = $(this);
        $.ajax({
            type:'POST',
            url:'components/sql/insertincome.php',
            data:{'newaccid':curaccid},
            success: 
            function(data){
            $(".toprow" + curaccid).append(
                    '<tr style="" id="row' + curaccid + '">\n\
                <td style="width: 30%; border-bottom:1px solid #DEDEDE;">\n\
                <span style=" font-size:10px;">(tet$/hr )</span>\n\
                <input id="' + curaccid + '" value="' + curaccid + '" style="float:left; margin:0px; width:40px; border: 0px solid black; background-color: Transparent;" name="newaccid" readonly /></td>\n\
                <td style=" width: 50%; border-bottom:1px solid #DEDEDE;"> $12 </td>\n\
                <td style="width: 15%; border-bottom:1px solid #DEDEDE;"> 31 </td>\n\
                <td style = "border-bottom: 1px solid #DEDEDE; width: 5%;"> <span href="#" id="'+ curaccid +'" class="deleteincomerow" style="text-decoration:none !important;">  <i class="material-icons" style="font-size: 15px; "><div class=" clickable-clear">clear</div></i> </span> </td></tr>'
                    );
             }

            });
        });
});

这是我的PHP:

<?php
include 'config.php';

$sqlupdateincome = "INSERT INTO income (username, projectname, hourlywage, totalhours)
VALUES ('John', 'Ochrom Test', '". $_POST['wage'] ."', '". $_POST['hours'] ."')";

if ($conn->query($sqlupdateincome) === TRUE) {
    echo "New record created successfully";
} else {
     echo  "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

标签: phphtmlsqlajax

解决方案


您需要回显 ID

id="<?php echo $row["accid"]; ?>"

希望这可以帮助


推荐阅读