2012-02-01 98 views
0

嗯,我面臨的問題是,我希望更新一個mysql記錄,只要有人點擊一個贊成按鈕,但我相當新的JavaScript,所以如果有人可以指出我在正確的方向是很好的。如何用javascript onclick觸發mysql語句?

我的網站是使用PHP構建的,如果有幫助的話。

非常感謝

回答

5

當您單擊時,您必須發送AJAX請求。在服務器端,應該有一個URL來監聽這個請求,&將相應地執行查詢。

我不想舉w3schools的例子,但仍然有look at this

編輯:對於OP,您可以從示例中瞭解一下這個想法,但強烈建議您不要使用GET請求。見Crowdner的評論。

+0

那好吧很大,可以收聽文件是PHP和傳遞變量呢? – user827570 2012-02-01 12:18:00

+1

Ajax是**不是**必需的。在啓用了JavaScript的瀏覽器上(98%左右),這很方便,但這不是唯一的方法。 – 2012-02-01 12:20:36

+0

是的,你可以做一個GET/POST的URL。我給出的例子使用GET請求。因此,在進行GET/POST時,您可以發送所需的數據。看看http://www.tizag.com/phpT/postget.php – 2012-02-01 12:22:30

1

是的,它有助於你使用PHP。 Javascript無法訪問MySQL數據庫,因爲JS是客戶端,而MySQL是服務器端,您將不得不使用AJAX調用一個PHP腳本,他將完成剩下的工作,您可以使用jQuery.post函數。

http://api.jquery.com/jQuery.post/

1
function updateSQL() { 
    window.location.href = "update.php?id=1"; 
} 

當點擊該按鈕,你可以redirecto相同的頁面,並使用$ _GET可以驗證的發送參數。然後你可以觸發SQL查詢。

2

你有兩個選擇,兩者都包括一個客戶端部分和服務器端部分:

  1. 發表形式隱藏iframe,用「豎起大拇指」按鈕是一個提交控制權。不需要JavaScript,只需在頁面上放置隱藏的iframe,其中name,並且窗體的target指向該名稱。表單的action將是記錄點擊的服務器頁面。

  2. 讓「豎起大拇指」觸發一個JavaScript單擊處理程序,該處理程序會將發送到服務器頁面的ajax消息記錄下來,並記錄點擊。


附註:如果你打算做大量的客戶端JavaScript編程,我強烈建議在學習JavaScript和DOM投資一些時間。隨着時間的推移,不花費一點時間就可以正確地學習東西,從長遠來看,這會讓你付出代價。我還推薦使用一個好的庫,如jQuery,Prototype,YUI,Closureany of several others。當然,您可以使用自己的代碼完成所有任務,但使用廣泛使用的庫可以利用其他人的工作,平滑瀏覽器差異並提供一些非常有用的實用程序功能。

+0

+1爲偷偷摸摸的沒有JavaScript的方法。 – alex 2012-02-01 12:21:27

1

這樣做的主要方式是通過AJAX。您可以使用AJAX調用異步調用服務器上的方法。所以在你的情況下PHP。

創建一個跨瀏覽器工作的AJAX調用可能是一項繁瑣的任務。這就是爲什麼我建議一個庫,而不是像jQuery(那是我熟悉的)。有有s everal其他類似原型,mootools的等

jQuery的一個簡單的例子是:

// Your jQuery method 

S('myLink').click(function() { 
    $.ajax({ 
     url: 'ajax/test.html', 
     success: function(data) { 
     alert('The server replied: '+data); 
     } 
    }); 
} 

<!-- In your html (no need for an onclick event, jQuery handles that for you) --> 
<a href="#" id="myLink">Get data</a> 

http://api.jquery.com/jQuery.ajax/