2012-09-08 77 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

是的,我得到了,但它只顯示旁邊的記錄和停止 –