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

标签 php jquery mysql ajax

我是 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/

相关文章:

PHP_CodeSniffer 缺少 Zend 标准?

php - 使用 eloquent 获取数据库时出错

php - 如何在共享服务器上回显到 mysql 的路径?

JQuery - 从选定的表行获取值

jquery - 删除 CSS 文件

mysql - Sequel Pro 连接 mysql 服务器

php - Laravel Artisan Migrate 不创建表

mysql - 从帖子sql中获取最新的用户评论

php - 如何使用php更新mysql中的父记录

jquery - 在 Bootstrap 模态之间切换