Ajax вызывает MySQL дубликат записи?

Я использую следующий скрипт ajax для запуска моей функции MySQL и вставки записи в мою таблицу. Работает нормально, за исключением того, что дублирует запись дважды.

<script type="text/javascript">
$(document).ready(function() {
    $('#support1').click(function(e) {
        var sel_stud = "support1";
        $.ajax({
            type: "POST",
            url: "include/run_support_log.php",
            data: 'theOption=' + sel_stud,
            success: function() {
                $('#support_content').show();
            }
        });
    });
});
</script>

MySQL:

<?php 
session_start();
include 'config.php';

$type = $_POST['theOption'];
if($type == "support1"){
$type = "Phone Support";
}



$random = 'S' . substr( md5(rand()), 0, 7); echo $random;


$query = "INSERT INTO supplier_log (id, reference, user_id, date, activity_type) VALUES ('', '$reference','{$_SESSION['id']}', now(), '$type')";
$result = mysql_query($query);

if($result) {
    echo 'success';
}

?>

пожалуйста, кто-то может показать мне, где я иду не так? заранее спасибо

2 ответа

Решение

Вы уверены, что линия

include 'config.php';

не включает ваш сценарий во второй раз?

Не должно, потому что это сделало бы бесконечный цикл. Но проверьте это на всякий случай.

Вы вставляете элемент с id = ''. Таким образом, каждый элемент имеет одинаковый идентификатор.

Может быть, вы измените

"INSERT INTO supplier_log (id, reference, user_id, date, activity_type) VALUES ('', '$reference','{$_SESSION['id']}', now(), '$type')";

от

"INSERT INTO supplier_log (reference, user_id, date, activity_type) VALUES ( '$reference','{$_SESSION['id']}', now(), '$type')";

и пусть идентификатор будет сгенерирован MySQL

Другие вопросы по тегам