2016-11-25 3 views
1

Я пытаюсь отправить форму, которая будет вставлять данные в базу данных mysql, которая работает нормально. Затем я хотел бы вернуть идентификатор новой вставленной строки (id auto increment в таблице mysql), поскольку я хочу открыть модальную форму после отправки формы, чтобы я мог предоставить ссылку, которая включает id в качестве параметра в URL-адресе.Отправить запрос на отправку Ajax и получить вставленный идентификатор

Чтобы отправить данные для формы Я использую следующий код:

$(document).ready(function(){ 
$("#submitForm").click(function(){ 

var string = $('#commentForm').serialize(); 

// AJAX Code To Submit Form. 
    $.ajax({ 
     type: "POST", 
     url: "SubmitData.php", 
     data: string, 
     cache: false, 
     success: function(result){ 
     //alert(result); 
     } 
    }); 
}); 
}); 

Файл SubmitData.php затем вставляет данные формы в базу данных.

В SubmitData.php я могу создать переменную подобрать идентификатор вновь вставленной строки, как
$last_id = mysqli_insert_id($conn);

Есть ли способ, что я могу вернуть $ last_id из файла SubmitData.php в пределах такая же функция?

+2

Да, вы добавляете id к ответу от PHP, и там он находится в аргументе result result 'result' –

+0

Просто повторите этот идентификатор на странице, и вы получите это в результате функции ** success ** – Dherya

+1

в вашем php, просто вызовите 'echo $ last_id; exit, 'then в вашем ajax,' result' будет id :) – DelightedD0D

ответ

3

Да возвращение из SubmitData.php идентификатор, используя следующее эхо:

echo json_encode(['id'=>$last_id]); 

js:

$(document).ready(function(){ 
$("#submitForm").click(function(){ 

var string = $('#commentForm').serialize(); 

// AJAX Code To Submit Form. 
    $.ajax({ 
     type: "POST", 
     url: "SubmitData.php", 
     data: string, 
     cache: false, 
     success: function(result){ 
      alert(result.id);//this will alert you the last_id 

     } 
    }); 

}); 

}); 
+0

Это также работает, и было бы здорово, если бы было много возвращенных данных, но поскольку это всего лишь 1 идентификатор, то действительно ли нужно возвращаться как json? – Amar

+0

его не нужно, но даст немного структуры вашему коду, вы должны сначала вернуть код состояния, что произойдет, если запрос не найдет результаты, вам нужно сообщить пользователю, что запрос не возвратил результат – madalinivascu

1

печати последний идентификатор в этом файле PHP

echo $last_id; 

получить, что в АЯКСЕ функции успеха

success: function(result){ 
     alert(result); 

} 
Смежные вопросы