使用javascript Onclick将数据传递到数据库

时间:2009-04-03 02:29:09

标签: javascript jquery ajax

当涉及到javascript / ajax时,我是一个真正的菜鸟,所以任何帮助将非常感激。 参考这个问题:

Updating a MySql database using PHP via an onClick javascript function

但主要关注Phill Sacre留下的答案。我想知道是否有人可以详细说明我们是如何(如果我们可以?)通过他的例子,使用jquery传递值/数据。 他留下的代码示例如下:

    function updateScore(answer, correct) {

      if (answer == correct) {
$.post('updatescore.php');

  }
}

...

<a onclick="updateScore(this, correct)" ...> </a>

比如说,我们想用PHP将任意数量的值传递给数据库,有人能给我一个javascript函数所需内容的片段示例吗?或者详细说明上面发布的内容了吗?

再次感谢所有人。

3 个答案:

答案 0 :(得分:1)

我能想到的最简单的例子就是这个。在 if 块中进行AJAX调用,如下所示:

$.get('updatescore.php', {'score': '222'}, function(d) {
    alert('Hello from PHP: ' + d);
});

在“updatescore.php”脚本上,执行此操作:更新分数。并返回纯文本,说明更新操作是否成功。

祝你好运。

P.S。:你也可以使用 POST 而不是 GET

答案 1 :(得分:0)

你要做的是在php服务器端有一个页面让我们说它的update.php。您的javascript将在Ajax请求中访问此页面,接收请求并将其放入数据库中。

php可能看起来像这样:

<?php
mysql_connect(...)
mysql_query("INSERT INTO table 
(score) VALUES('$_GET["score"]') ") 

你的javascript只是在update.php上预先形成ajax请求,并将变量作为获取值“得分”发送给它。

答案 2 :(得分:0)

Phil没有将任何值传递给脚本。他只是向脚本发送请求,其中很可能包含“更新”分数的逻辑。一个精明的人参加他的测试虽然可以简单地查看HTML源代码并通过检查锚点正在做什么来查看答案。

为了进一步挑选他的解决方案,应该使用一组单选按钮,并且在表单中,应该使用按钮或某种可点击元素通过ajax请求将值发送到服务器,并且值发送到服务器可以分析并将答案的状态发送回页面。

由于您使用的是jQuery,因此代码可以不引人注目,如下例所示:

$('#submit_answer').click(function() {
    var answer = 'blah' // With blah being the value of the radio button
    $.get('updatescore.php',
    {'value': answer},
    function(d) {
        alert('Your answer is: ' + d') // Where d is the string 'incorrect' or 'correct'
    }
});

享受。