2016-04-01 92 views
1

我有一个带有提交按钮和关闭按钮的表单。如果用户输入内容并点击提交按钮,答案将被发布并保存在数据库中。如果用户单击关闭按钮,则在数据库内将使用当前时间戳更新条目。使用AJAX更新MySQL数据库

一切工作正常,但现在我想进行这些更改,如果有人用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); 
} 

我该怎么做才能更新数据库条目,但页面不会重新加载?

+0

请问您可以发布使ajax请求的代码? –

+0

我还没有任何ajax代码。我只是用PHP做这个动作,现在我正在寻找一个解决方案,当有人点击关闭时我不必重新加载页面。 –

+0

那么你将不得不使用ajax。阅读http://api.jquery.com/jquery.post/ –

回答

0

这是一个快速的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["cmd"]读取POST变量。这将让你的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); 
} 

让我知道如果有不清楚的地方。

+0

非常感谢。它不工作,我真的不知道为什么。你能告诉我ajax.php应该是什么吗?我没有ajax.php文件?! –

+0

只需创建一个php文件,并将其命名为ajax.php。该文件将只是纯粹的PHP。 –

+0

ajax.php文件应该包含什么内容?如果($ _POST ...命令? –