[英]Update MySQL database with AJAX
我有一個帶有提交按鈕和關閉按鈕的表單。 如果用戶輸入內容並單擊“提交”按鈕,則答案將被發布並保存在數據庫中。 如果用戶單擊關閉按鈕,則將在數據庫內部使用當前時間戳更新條目。
一切工作正常,但是如果有人單擊AJAX的關閉按鈕,我現在想進行那些更改,這樣我就不必重新加載頁面。
我的提交按鈕的代碼是:
<input type='submit' id='setclosed' value='Close Ticket' name='setclosed' class='btn btn-warning' />
現在,如果有人單擊“提交”按鈕,則會在我當前的文件中激活以下代碼(因此,沒有用於php處理的外部文件):
if (isset ($_POST['setclosed'])) { // Setze Status auf Closed
$updatecontent_success=array('stamp_closed'=>$localtime);
updateContractTicket($show_details,$updatecontent_success);
}
我必須怎么做才能更新數據庫條目,但頁面不會重新加載?
這是一個快速的AJAX示例,助您一臂之力。 您應該將PHP和Javascript / HTML代碼分開。 我會寫出這兩個文件。
在您的HTML文件中,您將擁有html代碼和將發出請求的JavaScript,然后提醒用戶該請求已通過。 確保您的表單不提交任何內容。
-HTML
<button type='button' id='setclosed' name='setclosed' class='btn btn-warning'>Close Ticket</button>
-Javascript
$('#setclosed').click(function() {
$.post('ajax.php',
{ cmd: 'setclosed' },
function(data) {
alert('AJAX request was made');
}, 'json'
);
});
ajax將PHP讀取的POST變量發送為$_POST["cmd"]
。 這將讓你的php執行該命令的必要代碼,回顯狀態,然后退出php文件。
-PHP
if ($_POST["cmd"]=='setclosed') {
$updatecontent_success=array('stamp_closed'=>$localtime);
$updateContractTicket($show_details,$updatecontent_success);
echo json_encode(array('Status' => 'Ok'));
exit(0);
}
如果有什么不清楚,請告訴我。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.