【发布时间】:2014-06-01 01:04:04
【问题描述】:
我有两个 PHP 页面。在 page1 上创建了一个临时表并填充了来自 mysql 数据库的数据。我正在尝试将此表存储到 $_SESSION 变量中,以便可以将表放到 page2 上。
现在这是我的方法:
这是第1页的代码:
//Select data from database
$result = mysqli_query($mysqli,"SELECT * FROM table");
//Set array
$array = array();
while($row = mysql_fetch_assoc($result)){
// add each row returned into an array
$array[] = $row;
}
//store array into session variable
$_SESSION['fase1result'] = $array;
这是第2页的代码:
$table = $_SESSION['fase1result'];
echo "<table border='1'>
<tr>
<th>ProductID</th>
<th>ProductName</th>
<th>Fase1</th>
</tr>";
foreach ($table as $row)
{
echo "<tr>";
echo "<td>" . $row['ProductID'] . "</td>";
echo "<td>" . $row['ProductName'] . "</td>";
echo "<td>" . $row['Fase1'] . "</td>";
echo "</tr>";
}
echo "</table>";
不幸的是,到目前为止,这些脚本在 page2 上给我返回了一个空表。非常感谢您的帮助!
更新: 对我来说最好的办法是按原样保留临时表,这样我就可以在第 2 页上使用 MySQL 查询进一步操作它。你知道如何做到这一点,而不是通过将数据拉入 php 来将其撕开吗大批?抱歉把这个问题混淆了一点。
【问题讨论】:
-
两页顶部都有
session_start()吗? -
为什么不直接查询数据库呢?
-
可能不是真正的原因,但您使用的是 session_start 吗?
-
@MikeBrant 您确实可以像这样将数组转储到 PHP 会话中,PHP 会做正确的事情。 PHP 处理将会话存储在任何底层持久层中所需的任何序列化。为什么你不能?
-
我在两个页面的顶部都使用了 session_start()。查询数据库并不是一个真正的选择(我认为),因为它是在第 1 页创建的临时表。
标签: php mysql arrays html-table session-variables