php - 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();
?>
解决方案
您需要回显 ID
id="<?php echo $row["accid"]; ?>"
希望这可以帮助
推荐阅读
- java - Embeddable 中的 JPA ElementCollection 未持久化
- google-cloud-platform - 在 Google Cloud Platform 上启动 Jupyter notebook 时出错
- php - PHP: msqyl 加入 self 和 LIKE 查询
- javascript - 在 Typescript React App 中指定特定的道具并接受一般的 HTML 道具
- android - Android:使用文本观察器编辑文本中每 10 位数字后的空格
- google-chrome - 本地机器上的 Chrome 无头屏幕截图
- php - PHP Yii1 语法错误或访问冲突:1064
- php - 从与 PHP 一起使用的 HTML 模板中获取内部 html
- android - 密码函数:OPENSSL_internal:BAD_DECRYPT in android Oreo
- mysql - 对匹配条件sql的2个表的某些列求和