我是ajax / jquery的新手。所以有一种简单的方法,当我点击表格中的单元格时,它的值将存储在会话变量中。
提前致谢
答案 0 :(得分: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>
该表可以根据您的喜好大小,上面的脚本会向您的PHP页面发送任何在id为“clickable”的表中单击的单元格。请注意,如果您需要多个可单击表,则应将其从id更改为类。
然后在yourphppage.php中,(上面的代码必须在同一目录中:
<?php
session_start();
$_SESSION['cellValue'] = $_POST['sendCellValue'];
?>
将信息保存到数据库与会话非常不同。你需要区分谁点击了什么?或者只记录点击的内容,无论是谁点击了它?
如果是这样,请使用以下内容代替上面的第二个代码段:
<?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']).'")');
?>
为此您需要一个表(称为TheTable)。它需要两列。第一种可以称为“ID”或类似的东西。它需要设置为“自动递增”,其类型必须为“整数”。第二列必须称为“CellValue”,其类型可以设置为“varchar”,包含255个字符。
要输出信息,以便可以打印,您应该询问有关如何将数据库表格输出到HTML的新问题。很可能你可能不想按原样打印表格,所以你应该具体说明人们会点击什么,即文本是什么?还是一个数字?如果它是一个数字,那是什么数字?您是否要对这些数字进行分组并显示每个组的总点击次数?等等,请具体说明。在打印之前,您可能需要更改上面的一些内容,具体取决于您要对表中的信息执行哪些后处理。例如,您可能需要将第二列的类型从varchar更改为integer或float(在这种情况下,您还需要更改PHP文件)。
答案 1 :(得分:5)
可以这么简单:
以下代码段将值发送到可以设置会话变量的页面
$.post('sessionsetter.php', { 'fieldname' : 'sessionvariablename', 'value' : 'sessionvalue'});
现在'sessionsetter.php'可以是这样的:
session_start();
$_SESSION[$_POST['fieldname']] = $_POST['value'];
现在,您可以发送要设置为SESSION变量的任意数量的变量。