我試圖創建一個數組來顯示客戶查看的最後5個產品。PHP:會話二維數組 - 軌道查看產品
所述陣列是二維陣列象下面...
$ RView =陣列( 陣列(ID => 「1001」,RefCode => 「Ref_01」,名稱=> 「Name_01」), ... array(ID =>「1005」,RefCode =>「Ref_05」,Name =>「Name_05」) );
數組值從產品記錄集中檢索,設計爲當客戶訪問產品頁面時按如下方式運行。
- 頁將檢查。如果是,從
如果沒有,則創建一個新的數組現有會話創建一個數組變量會話陣列存在 - 。
- 數組將添加新的產品詳細信息。
- 如果陣列中存在多於5個現有產品,數組將會計數。
- 如果是,它將刪除最老的。
如果否,轉到下一步。 - 會話從修改過的數組中創建/更新。
我目前的努力附在下面......
非常感謝您的任何幫助。
<?php
session_start()
// Get or Create Array
IF (isset($_SESSION['sessRView'])) {
$RView = ($_SESSION['sessRView']); }
ELSE {
$RView = array(array());
}
// Append currently viewed Product to Array
array(array_unshift($RView, $row_rsPrd['PrdID'], $row_rsPrd['RefCode'], $row_rsPrd['Name']));
// Check if more than 5 products exist in Array, if so delete.
IF (sizeof($RView) > 5) {
array(array_pop($RView)); }
// Update Session for next page
$_SESSION['sessRView'] = $RView;
// Display Array
for ($row = 0; $row < 5; $row++)
{
echo "<ul>";
echo "<li><a href='?PrdID=".$RView[$row]["PrdID"]."'>".$RView[$row]["RefCode"]."</a> : ".$RView[$row]["Name"]."</li>";
echo "</ul>";
}
?>
感謝您的幫助。 我已經做了你所建議的改變(我認爲),但我無法顯示數組中的值。我只是得到5個項目符號的HTML列表。 我做的更改是... array_unshift($ RView,array($ row_rsPrd ['PrdID'],$ row_rsPrd ['RefCode'],$ row_rsPrd ['Name'])); - IF(sizeof($ RView)> 5){array_pop($ RView); } - 的foreach($ RView爲$ PROD) { 回聲 「
」; 回聲 「- ".$prod["RefCode"]."」。$ PROD [ 「名稱」] 「
」; echo「
」; ;} 任何想法有什麼不對? – ticallian 2009-05-01 04:25:05