我正在制作一个相当简单的评级系统,而且我遇到了一个小问题。当您对某些内容进行评分时,我正在尝试运行一个PHP脚本,该脚本将连接到数据库,从中下载值,+1到该值,并再次更新数据库中的值。
我不认为重新加载页面以获得持续的评级系统将是一个非常好的主意:S
我想知道如何使用Ajax切换PHP脚本,这样当您单击+符号的图像时,它会运行PHP add 1脚本,而+按钮会转到勾选。我是ajax的废话,我会去尝试jQuery + $ .ajax({});但我尝试了73次失败。哈哈。
有人愿意帮我写一个Ajax脚本吗? :DDD
谢谢! :)
答案 0 :(得分:2)
如果您希望有人点击将访问您网页的链接,请假设您有这样的结果:
<a class = 'plusOne' id = 'someIDForYourSQLTable'>+1</a>
ID是您要传递给服务器脚本的ID,因此您可以更新相应的行,一般来说,这应该是您想要+1的记录的主要标识符(即Key)。
以下是将ajax请求发送到文件的jQuery:plusOne.php与当前页面位于同一目录中:
$(function() {
$(".plusOne").bind("click", function() {
$.ajax({
type: "GET",
data: "v="+$(this).attr("id"),
url: "plusOne.php",
success: function(data) {
// Whatever you want to do after the PHP Script returns.
}
});
});
});
请求将发送一个URL参数“v”,您可以从$_GET
超级全局数组中访问PHP脚本。
答案 1 :(得分:1)
html
<img src="plusone.png" rel="some_unique_id" class="rate" />
的javascript
$(".rate").click(function() {
var elem = $(this);
$.get('/rate.php?id=' + elem.attr('rel'), function() {
elem.attr('src', 'checked.png').unbind('click');
});
});
并在php中
mysql_connect('localhost','db_user','pssword');
mysql_query('UPDATE database_name.table_name SET rating=rating+1 where id=' . mysql_real_escape_string($_GET['id']));
答案 2 :(得分:0)
查看xAjax,将PHP函数/方法公开给客户端JavaScript 的库。 xAjax使事情变得非常简单。
例如,您可以在浏览器中并行执行多项更改:
$objResponse = new xajaxResponse();
$objResponse->assign("myInput1","value",$DataFromDatabase);
$objResponse->assign("myInput1","style.color","red");
$objResponse->append("myDiv1","innerHTML",$DataFromDatabase2);
$objResponse->prepend("myDiv2","innerHTML",$DataFromDatabase3);
$objResponse->replace("myDiv3","innerHTML","xajax","<strong>xajax</strong>");
$objResponse->script("var x = prompt("Enter Your Name");");
return $objResponse;