php - 存储 SQL 结果以在其他网页上使用

标签 php html mysql sql

我的网页上有一个表单,用于根据用户输入的内容过滤数据库:

enter image description here

对数据库的 Ajax 调用实时返回查询满足的属性计数:

$query = "
SELECT 
* 
FROM 
first_page_data 
WHERE 
((((acos(sin((".$lat."*pi()/180)) * sin((`geo_lat1`*pi()/180))+cos((".$lat."*pi()/180)) * cos((`geo_lat1`*pi()/180)) * cos(((".$lon."- `geo_lon1`)* pi()/180))))*180/pi())*60*1.1515) * 1.609344) < ".$range."
AND
value_min >= " . $valmin . " 
AND 
value_max <= " . $valmax . " 
AND 
bed_min >= " . $bedmin . " 
AND 
bed_max <= " . $bedmax;

$result = mysql_query($query, $first_data);
$number = mysql_num_rows($result);
echo $number;

这工作正常,一切都按我想要的方式工作。不过,我现在想对结果做“一些事情”(例如,单击按钮时将它们全部显示在表格中,在谷歌地图上显示它们等)。如何存储此查询的结果以便在其他网页上使用?我无法在另一个页面上重新查询数据库,因为结果取决于用户在此表单上的输入。

最佳答案

您可以将它们存储在临时 session 中。我实际上并不提倡这种方法,但不知道您的整个环境应该提供解决方案。

$result = mysql_query($query, $first_data);
while($row = mysql_fetch_assoc($result)) {
    $_SESSION['store'][] = $row;
}

如果可以的话,我还强烈建议迁移到使用 mysqli,一旦完成此操作,您可以使用来清除它

unset($_SESSION['store']);

如果您的结果集很大,我不建议将其存储在临时 session 中。将其作为 json 数组存储到文件中。

while($row = mysql_fetch_assoc($result)) {
    $rows[] = $row;
}

file_put_contents($unique_var . '.txt', json_encode($rows));

您需要设置一个唯一值,以便稍后可以检索正确的文件。使用完成后删除文件:

unlink($unique_var . '.txt');

那么 future 的证明又如何呢? SESSION 存储更容易,但对于大量结果集和大量用户,这可能非常消耗资源,因此请尝试以下操作:

$result = mysql_query($query, $first_data);
while($row = mysql_fetch_assoc($result)) {
    $rows = $row;
}

if(count($rows) < 51) {
    $_SESSION['store'] = $rows;
} else {
    file_put_contents($unique_var . '.txt', $rows);
}

您稍后可以像这样访问它:

if(!isset($_SESSION['store'])) {
    $contents = file_get_contents($unique_var . 'txt');
    unlink($unique_var . '.txt');
} else {
    $contents = $_SESSION['store'];
    unset($_SESSION['store']);
}

这样您将始终尽快清除 session 和临时文件。

关于php - 存储 SQL 结果以在其他网页上使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21971750/

相关文章:

java - 指定的 key 太长 - 最大 key 长度为 767 字节

MySQL select where not()..and...and。 (或...或)

php - SimpleXMLElement 对象

php - 正则表达式计算不同排列的数量

php变量传递给java脚本并警告它

javascript - 如何让一个按钮对应不同的点击div html jquery php?

javascript - 我只想打印来自 HTML/JS 页面的特定 div 内容和电子邮件结果?

html - 均匀分布按钮

jquery - 淡入淡出效果在我悬停时不断重复

Mysql查询计算问题?