2016-04-01 33 views
1

Gönderme düğmesi ve kapatma düğmesi olan bir formum var. Bir kullanıcı bir şey girer ve gönder düğmesine basarsa, bir yanıt gönderilir ve veritabanına kaydedilir. Bir kullanıcı kapat düğmesini tıklatırsa, veritabanının içinde bir giriş geçerli zaman damgasıyla güncellenir.MySQL veritabanını AJAX ile güncelle

Her şey yolunda çalışıyor ancak şimdi bu değişiklikleri yapmak için birisi AJAX ile kapat düğmesini tıklattığında sayfayı yeniden yüklemem gerekiyor. Benim Gönder düğmesini için

kodudur:

birisi Gönder düğmesini tıklarsa, followin kod benim şimdiki dosyası (php işlem için hiçbir harici dosyası) içine aktif olacaktır Şimdi
<input type='submit' id='setclosed' value='Close Ticket' name='setclosed' class='btn btn-warning' /> 

:

if (isset ($_POST['setclosed'])) { // Setze Status auf Closed 
    $updatecontent_success=array('stamp_closed'=>$localtime); 
    updateContractTicket($show_details,$updatecontent_success); 
} 

Veritabanı girdisi güncelleştirilecek, ancak sayfa yeniden yüklenmeyecek ne yapmam gerekiyor?

+0

Lütfen ajax isteğini yapan kodu gönderir misiniz? –

+0

Henüz ajax kodum yok. Ben sadece bu eylemi PHP ile yapıyorum ve şu anda bir kullanıcı yakın tıkladığında sayfayı yeniden yüklememe gerek olmayan bir çözüm arıyorum –

+0

Peki ajax kullanmanız gerekecek. Http://api.jquery.com/jquery.post/ adresinden okuyabilirsiniz. –

cevap

0

Gitmenizi sağlayan hızlı bir AJAX örneği. PHP ve Javascript/HTML kodunu ayırmalısınız. İki dosyayı yazacağım.

HTML dosyanızda, istekte bulunacak html kodu ve javascript olacak ve ardından kullanıcıya isteğin iletildiğini bildireceksiniz. Formunuzun hiçbir şey göndermediğinden emin olun.

-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"] olarak PHP okuduğu bir POST değişkeni gönderir. Bu, php'inizin bu komut için gerekli kodu çalıştırmasına izin verecek, bir durumu yineleyecek ve daha sonra php dosyasından çıkacaktır.

-PHP

if ($_POST["cmd"]=='setclosed') { 
    $updatecontent_success=array('stamp_closed'=>$localtime); 
    $updateContractTicket($show_details,$updatecontent_success); 
    echo json_encode(array('Status' => 'Ok')); 
    exit(0); 
} 

şey belli değil bana bildirin.

+0

Çok teşekkür ederim. Çalışmıyor ve gerçekten nedenini bilmiyorum. Ajax.php'nin ne olması gerektiğini söyleyebilir misin? Ajax.php dosyası yok mu? –

+0

Sadece bir php dosyası oluşturun ve ajax.php adını verin. Dosya sadece saf php olacak. –

+0

ajax.php dosyasında ne olmalıdır? If ($ _POST ... komutu? –

İlgili konular