使用ajax/jquery设置php会话变量

use*_*316 0 php ajax session jquery

我是ajax/jquery的新手.所以有一种简单的方法,当我点击表格中的单元格时,它的值将存储在会话变量中.

提前致谢

CL2*_*L22 7

<html>
<head>
...
<script src="jquery.js"></script>
...
<head>
<body>
....
<table id="clickable"><tr><td>Hello</td></tr></table>
<script>
$('#clickable td').on('click', function(e){ $.ajax({
    type: 'POST',
    url: 'yourphppage.php',
    data: {sendCellValue: $(this).text()}
}); });
</script>
....
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

该表可以是您想要的大小,上面的脚本将向您的PHP页面发送任何单词,该单元格在id为"clickable"的表中被单击.请注意,如果您需要多个可单击表,则应将其从id更改为类.

然后在yourphppage.php中,(给出上面的代码必须在同一个目录中:

<?php
session_start();
$_SESSION['cellValue'] = $_POST['sendCellValue'];
?>
Run Code Online (Sandbox Code Playgroud)

将信息保存到数据库与会话非常不同.你需要区分谁点击了什么?或者只记录点击的内容,无论是谁点击了它?

如果是这样,请使用以下内容代替上面的第二个代码段:

<?php
$connection = mysql_connect("localhost","my_db_username","pass1234");
mysql_select_db("my_db_name", $connection);

mysql_query('INSERT INTO TheTable (CellValue)
VALUES ("'.mysql_real_escape_string($_POST['sendCellValue']).'")');
?>
Run Code Online (Sandbox Code Playgroud)

为此你需要一个表(称为TheTable).它需要两列.第一种可以称为"ID"或类似的东西.它需要设置为"自动递增",其类型必须为"整数".第二列必须称为"CellValue",其类型可以设置为"varchar",包含255个字符.

要输出信息,以便可以打印,您应该询问有关如何将数据库表格输出到HTML的新问题.很可能你可能不想按原样打印表格,因此你应该具体说明人们将点击什么,即文本是什么?还是一个数字?如果它是一个数字,那是什么数字?您是否要对这些数字进行分组并显示每个组的总点击次数?等等,请具体说明.在打印之前,您可能需要更改上面的一些内容,具体取决于您要对表中的信息执行哪些后处理.例如,您可能需要将第二列的类型从varchar更改为integer或float(在这种情况下,您还需要更改PHP文件).


Sta*_*arx 5

它可以这么简单:

以下代码段将值发送到可以设置会话变量的页面

$.post('sessionsetter.php', { 'fieldname' : 'sessionvariablename', 'value' : 'sessionvalue'});
Run Code Online (Sandbox Code Playgroud)

现在'sessionsetter.php'可以是这样的:

session_start();
$_SESSION[$_POST['fieldname']] = $_POST['value'];
Run Code Online (Sandbox Code Playgroud)

现在,您可以发送要设置为SESSION变量的任意数量的变量.