gpt4 book ai didi

php - 在 php 中使用 ajax 和 jquery 时,数据在数据库中多次输入

转载 作者:行者123 更新时间:2023-11-29 18:55:17 25 4
gpt4 key购买 nike

我是 PHP 新手,所以我不太擅长调试。我现在正在尝试这个有一段时间了,在没有得到任何结果后,我决定把它放在这里,希望我能找到解决方案。我的页面上有信息,屏幕上有编辑和添加按钮。当我添加任何条目时,它会多次到达那里(在主页以及数据库(mySQL)上)。我在我的案例中观察到了一种模式。当我第一次使用添加按钮时,没有重复.当我第二次做的时候,我得到了2次重复,第三次我得到了4次重复,第四次8次,第五次16次,第六次32次。所以它正在制作一个像1,2,4,8,16这样的系列, 32.

我正在尝试做什么...

在添加按钮上,我正在打开模型上的表单并从那里收集信息。保存该模型表单后,我在 AJAX 的帮助下调用 jquery 函数。我正在使用第三页来执行数据库操作。在插入信息被添加到同一部分之前之后。分享一段AJAX部分的代码,希望对调试有帮助。
感谢所有付出努力的人,即使我没有得到解决方案。

JAVASCRIPT

$("#saved-education").click(function () {
// alert("insside save-edu");
var msg1 = $("#education-course").val();
var msg2 = $("#education-board").val();
var msg3 = $("#education-school").val();
var msg4 = $("#education-start-year").val();
var msg5 = $("#education-end-year").val();
var msg6 = $("#education-grade").val();
// alert(msg1 + msg2 + msg3 + msg4 + msg5 + msg6);
var content = '&em1=' + msg1 + '&em2=' + msg2 + '&em3=' + msg3 +
'&em4=' + msg4 + '&em5=' + msg5 + '&em6=' + msg6;
$.ajax({
url: "ajexupdate.php",
type: "POST",
data: content,
dataType: 'text',
cache: false,
success: function (e) {
// alert(e);
$("#dislay_education_1").html(e);
$("#modal-edu").modal('hide');
}
});
return false;
});

PHP 更新代码

if (isset($_POST['em1'])) {
$edu_id = generate_random_edu_id();
$course = $_POST['em1'];
$board = $_POST['em2'];
$school = $_POST['em3'];
$start_year = $_POST['em4'];
$end_year = $_POST['em5'];
$grade = $_POST['em6'];
$eduation_insert = mysql_query("INSERT INTO `user_education`(`edu_id`, `course`, `board`, `school`, `start_year`, `end_year`, `grade`, `uid_fk`,`colg_id`) VALUES ('$edu_id','$course','$board','$school','$start_year','$end_year','$grade','$user_id','$colg_id')", $db1);
$education_query = mysql_query("SELECT * FROM `user_education` WHERE `uid_fk` ='$user_id' AND `edu_id`='$edu_id' ORDER BY edu_created DESC LIMIT 1", $db1);
$education_result = mysql_fetch_object($education_query);
}

HTML 表单

 <div class="form-group">
<label class="col-sm-2 control-label" for="textinput">Duration</label>
<div class="col-sm-5">
<select id="education-start-year" name="start_year" >
<option disabled="disabled">From</option>
<?php
$year = range(2017, 1900);
foreach ($year as $d) { ?>
<option value="<?php echo $d; ?>" <?php if ($row_edit_exp->start_year == $d){ echo selected; } ?> > <?php echo $d; ?></option>
<?php } ?>
</select>
</div>

<label class="control-label" for="textinput"></label>
<div class="col-sm-5">
<select id="education-end-year" >
<option disabled="disabled">From</option>
<?php
$year = range(2017, 1900);
foreach ($year as $d) { ?>
<option value="<?php echo $d; ?>" <?php if ($row_edit_exp->end_year == $d){ echo selected; } ?> > <?php echo $d; ?></option>
<?php } ?>
</select>
</div>
</div>
<br><br>

</div>
<div class="modal-footer">
<div class="col-sm-6">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div> <div class="col-sm-6">
<button type="button" id="saved-education" class="btn btn-primary">Save</button>

</div>
</div>

最佳答案

试试这个......

$("#saved-education").click(function (e) {
e.preventDefault();

....
....


})

关于php - 在 php 中使用 ajax 和 jquery 时,数据在数据库中多次输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44173065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com