2012-07-16 33 views
0

我想在我的網站上實現一個'添加音符'功能,該功能似乎可以毫不費力地向用戶工作。編碼一個看起來自動的音符更新功能,可以在變化時保存音符

想法很簡單:每個項目旁邊都會有一個文本框。在輸入到文本字段中的文本更改會自動更新數據庫中,用戶不必點擊「保存」或點擊任何按鈕來加載或保存該筆記。

(最初,每個項目都會有它旁邊的一個空白文本字段)

什麼是實現這一目標的最佳方式是什麼?

<?php 
//Create mysql connect variable 
$conn = mysql_connect('samplesource.com', 'example', 'pass'); 

//kill connection if error occurs 
if(!$conn){ 
    die('Error: Unable to connect.' . '<br>' . mysql_error()); 
} 
//connect to mysql database 
mysql_select_db("mydb", $conn); 

session_start(); 
$userid = $_SESSION['id']; 

$results = ("SELECT * FROM notes WHERE userid='$userid'"); 
?> 

<html> 
<head> 
</head> 
<body> 

<textarea style="resize:none; width:300px; height:200px;"> </textarea> 

</body> 
</html> 
+0

如果這是你的網站的主要特點,我想告訴你,目前已經有很多的服務是這樣的。我最喜歡的是http://notepad.cc – 2012-07-16 20:03:42

+0

這當然不是我網站的主要功能。我希望它能夠增強用戶體驗。 – AnchovyLegend 2012-07-16 20:05:21

回答

1

這是調用jQuery ajax調用來更新數據庫。從ajax調用中,您可以掛接onblur事件,然後更新數據庫中的註釋,請記住這會導致很多後端緊張,並且會導致MySql服務器隨着持續更新而陷入停滯。您可能不得不考慮某種緩存和緩存保存以防止發生這種情況。

jQuery的阿賈克斯: http://api.jquery.com/jQuery.ajax/

的Jquery的OnChange: http://api.jquery.com/change/

$(document).change(function() { 
    $(".sometext").blur(function() { 
     //make ajax call to update database 
    }); 
}); 
+0

感謝您的回覆。我知道它可以用你提到的方法來完成,但是你的回答太泛泛而不能用,並且不能真正回答我的問題。不過謝謝。 – AnchovyLegend 2012-07-16 20:08:11

+0

多數民衆贊成更好,謝謝。由於mySQL更新只發生在Blur上,難道它不會真的讓mySQL服務器陷入困境嗎? – AnchovyLegend 2012-07-16 20:18:48

+0

不會.change()會更好,所以當你從現場失去焦點並且數據沒有改變時,沒有不必要的ajax調用? – 2012-07-16 20:20:34