在PHP中将结果集从一个页面返回到另一个页面

时间:2011-12-14 04:08:20

标签: php resultset

我有2个php页面:query.phpresult.php

query.php中,我正在执行查询(select)语句。它返回了一个结果集

$rs = mysql_query($query);

现在,我想将此结果集从query.php返回到另一个页面result.php并使用它。像这样:

query.php

return $rs

result.php

$result = executeQuery($query) // we get the resultset in this variable
while ($row == mysql_fetch_array($result){
//do something 
}

如果不推荐上述内容,请提供替代方案。但我希望查询函数和结果集在不同的页面中。

2 个答案:

答案 0 :(得分:1)

如果你只想在源文件中保持代码分开但实际上不需要从一个页面重定向到另一个页面,你可以在query.php页面中包含results.php:

在query.php中:

$rs = mysql_query($query);
include "results.php";

在results.php中:

while ($row == mysql_fetch_array($rs){
  //do something 
}

尝试从一个页面“返回$ rs”到另一个页面,这不是PHP的工作方式。 return语句仅在函数内有效。如果你想实际将数据从一个PHP页面传递到另一个页面并将重定向到另一个页面,那么你需要使用一个会话,一个cookie,在URL中传递它(即使用GET)或使用curl并添加它作为POST var。

答案 1 :(得分:0)

如果确实如此,请将结果集存储在数据库的某个位置或文件中,并为每个结果指定一个唯一的名称。然后将该名称传递给下一页,以便检索它。

例如,

query.php会重定向到result.php?result_set=ab24sdfsdfklls

这具有额外的优势,您可以根据需要经常使用result_set。访问者在一次访问期间可以拥有多个结果集。他们可以与其他人共享结果集页面的URL等。

请确保最终修剪数据存储,因为它将继续增长,但这完全是另一回事。

相关问题