在jQuery onClick上,递增一个PHP变量?

时间:2011-03-01 23:36:12

标签: php javascript jquery

我有这样的链接:<a href="javascript:window.print();">Print</a>。我试图在点击它时增加一个PHP变量。技术上我可以通过提交表单来实现,但我确信有一种更简单的方法。有什么想法吗?

2 个答案:

答案 0 :(得分:6)

JavaScript是客户端。 PHP是服务器端。如果要使用JavaScript事件影响PHP变量,则必须发出某种类型的AJAX调用。

答案 1 :(得分:1)

你需要使用某种数据库来保存这样的变量。然后,您可以向小型服务器端文件发出AJAX调用,该文件会增加该数据库中的值。

在您的HTML页面上:

<script type="text/javascript">
    $(document).ready(function() {
        $('#print').click(function() {
            $.getJSON('http://somewhere.com/increment.php', null, function(data) {
                console.log('remote increment script returned: ' + data);
            });
            window.print();
        });
    });
</script>
<a href="javascript: void 0;" id="print">Print</a>

然后,/increment.php中的服务器端(我假设MySQL,但你也可以使用像Redis这样的东西):

// database connection goes here
$result = mysql_query("UPDATE stats SET stat_value = stat_value + 1 WHERE stat_key = 'prints'", $some_database_connection);
mysql_close($some_database_connection);
die( $result ? 'true' : 'false' );