【发布时间】:2016-06-27 17:49:19
【问题描述】:
我有一个搜索栏,当用户通过搜索栏搜索某些内容时,会执行查询并在屏幕上显示一些结果。
我将与结果相关的所有信息存储在多维session 数组中。
每个结果都有链接,当用户单击此链接时,会打开新页面,显示该结果的全部信息。
搜索结果取决于用户输入的词。
我的问题是:假设当用户第一次输入某个词时,它得到了 4 个结果,与这 4 个结果相关的所有信息都存储在会话数组中,但是下次如果用户再次搜索会出现不同的结果,但会话数组仍然有相同的旧值,因为当下一页打开时,它会显示该结果的不同信息(它显示基于上一个结果索引的信息)。
我的代码是:
<?
while($row = mysqli_fetch_array($sql))
{
$title = $row['title'];
$description = $row['description'];
$url = $row['content_url'];
$icon = $row['thumb_icon_url'];
?>
<?php
$_SESSION['result'][$id] = Array('title' => $title,'description'=> $description,'content_url' => $url,'icon' => $icon,'id'=> $id);
?>
新页面代码:
<?php
if(isset($_GET['id']))
{
$id = $_GET['id'];
?>
<div id="iframe" class="embed-responsive embed-responsive-16by9 col-md-9">
<iframe class="embed-responsive-item item" src="https://docs.google.com/gview?url=<?php echo $_SESSION['result'][$id]['content_url'];?>&embedded=true#toolbar=0&navpanes=0&scrollbar=0" frameborder="0"></iframe>
</div>
<?php
}?>
【问题讨论】: