PHP Session仅保存最后一项

时间:2017-01-13 12:55:01

标签: php mysql session

跟进此问题:Save database row id in session for use later

我现在遇到了以下问题。现在(谢天谢地)存储会话。下一页的内容是动态填充的。但是所有页面都具有相同的columns.Add().Titled("Option").Encoded(false) .Sanitized(false) .SetWidth("30%") .RenderValueAs(o=>( Html.ActionLink("View","UserDetails", "Administration", new {id = o.UserID}, new {@class = "btn btn-default"}).ToHtmlString() + Html.ActionLink("Delete","NewInvestment", "Administration", new {id = o.UserID}, new {@class = "btn btn-default"}).ToHtmlString() ) ); ,而不是特定于该链接/项目的ID。

我读到了一些关于我一次又一次地写会话ID的事实。我需要将会话存储在一个数组中。

所以我做的是以下,我改变了这个:

database id

进入这个:

$identi = $row['Id'];
$_SESSION["product_id"] = $identi;

但是这仍然只存储会话中最后一个项目的ID而不是单个项目。所以我可以让每个项目链接一个特定的ID。

为了更好地衡量我的SQL查询:

$identi = $row['Id'];
if(!is_array($_SESSION['product_id'])) {
        $_SESSION['product_id']=array();
    }
        $_SESSION['product_id']=$row['Id'];;

有人可以帮我解决这个问题吗?一如既往地感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

如果要将新项目添加到数组中,请执行以下操作:

$_SESSION['product_id'][] = $row['Id'];

您所做的只是覆盖product_id数组中$_SESSION的值。

编辑:

请查看此arrays