2012-09-08 80 views
-3

如何从下一个按钮点击会话数组中获取下一个数组元素? 我试图next($_SESSION['qid'])没有工作会话数组访问下一个按钮点击下一步按钮

if((int)$_SESSION['qn']<=20) { 
    $_SESSION['qn']=$_SESSION['qn']+1; 
    $_SESSION['qid']++; 
} 

我也试过

$_SESSION['qid']=next($_SESSION['qid']); 

但这既不工作。有人能帮我吗?

+0

显示一些代码每CLIC,你做了什么来解决这个问题? – JvdBerg

+0

尝试此,下一步($ _ SESSION) – Tarun

+0

但页面上有不同的会话元素,我尝试过但没有工作 –

回答

2

_SESSION数组是一个关联数组。您不能通过数字索引访问它,但必须指定索引名称(例如,在您的代码中,$_SESSION['qid'])。无论如何,你仍然可以使用next()函数,通过数组$_SESSION(请看这里:http://php.net/manual/en/function.next.php)。使用它的正确方法是:

$element = next($_SESSION) 

您可能希望将此代码放入循环中。

此外,你的代码:

$_SESSION['qn']=$_SESSION['qn']+1; 

意味着:分配给$_SESSION['qn']$_SESSION['qn']1的价值,这是不是你想要的。 如果你想要在非关联数组的下一个元素,你应该使用:

$arr = $arr[$i+1] 

其中$i是一个整数值。

更新:关于您的评论,为什么不在$_SESSION['questions']内保存常规数组(非关联)?这样你就会有问题访问是这样的:

$_SESSION['questions'][0], $_SESSION['questions'][1]... 

现在你可以一个周期,或任何你想要之内使用它。例如:

echo $ _SESSION ['questions'] [$ current_question_id + 1];

其中$current_question_id将当前问题索引,将被更新(+1)上的下一个按钮

+0

其实我正试图从MySQL获取数据到userscreen上的下一个按钮单击它的测验应用程序,所以在下一个按钮单击我需要拉下一个问题,其编号存储在会话数组中。 –

+0

我更新了我的答案.. –

+0

是的,我得到了,但它只显示旁边的记录和停止 –