2016-04-01 8 views
1

私は送信ボタンと閉じるボタンがあるフォームを持っています。ユーザーが何かを入力して送信ボタンを押すと、回答が掲示され、データベースに保存されます。ユーザーがデータベース内の閉じるボタンをクリックすると、エントリは現在のタイムスタンプで更新されます。MySQLデータベースをAJAXで更新する

すべてうまくいきましたが、誰かがAJAXの閉じるボタンをクリックしてページを再読み込みする必要がないように変更したいと思います。

私のボタンを提出するためのコードは次のとおりです。

<input type='submit' id='setclosed' value='Close Ticket' name='setclosed' class='btn btn-warning' /> 

誰かが送信ボタンをクリックした場合さて、followinコードは私の現在のファイル(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コードを分ける必要があります。私は2つのファイルを書きます。

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は$_POST["cmd"]としてPHPによって読み取ら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ファイルの内容は何ですか? if($ _POST ...コマンド? –