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