2013-02-24 57 views
1

Im新的ajax/jquery。所以有一种简单的方法,当我单击表格中的单元格时,它的值将存储在会话变量中。使用ajax/jquery设置php会话变量

在此先感谢

+0

你可以做一个单击事件来将值推送到一个phpfile。与ajax,但你没有说明你已经尝试过 – 2013-02-24 16:09:37

+0

欢迎来到stackoverflow,问答网站,我们热爱人们与惊心动魄的问题,虽然我们更热衷于获得一些事先你已经尝试过的一些灵感。 正如Iesus声明的那样,您可以向服务器发送一个AJAX请求,无论服务器在接收请求时做什么。所以一般来说:是的,这是可能的 - 也许你可以缩小你的问题? – yoshi 2013-02-24 16:12:37

+0

以便将其缩小。我想要完成的是,当我从表中点击一个值时,ajax/jquery将会保存会话中的值,现在我将从数据库中调用该值,然后将其打印出来。 – user2102316 2013-02-24 16:24:04

回答

4

它可以是如此简单:

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

$.post('sessionsetter.php', { 'fieldname' : 'sessionvariablename', 'value' : 'sessionvalue'}); 

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

session_start(); 
$_SESSION[$_POST['fieldname']] = $_POST['value']; 

现在,你可以发送尽可能多的v你想设置为SESSION变量的可变参数。

+0

so呃..我应该在哪里把$ .post放在脚本里头? 即时通讯完全新的ajax/jquery – user2102316 2013-02-24 16:28:26

+1

@ user2102316比得到一本JavaScript的书首先你也可以尝试尝试http://codecademy.com/ ..比阅读一些PHP书...并尝试juqery网站..其唯一的过程学习..勺子摆弄不是一个好主意 – 2013-02-24 16:33:56

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“点击”表格的任意单元格。请注意,如果您需要多个可点击表格,则应将其从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更改为整数或浮点数(在这种情况下,您还需要更改PHP文件)。

+0

好吧。我会尝试这一个 – user2102316 2013-02-24 16:51:02