gpt4 book ai didi

php - 我如何清除先前回显的结果而不影响 php 中的任何其他功能?

转载 作者:行者123 更新时间:2023-11-29 13:59:32 24 4
gpt4 key购买 nike

我目前正在开发一个网站,该网站有一个搜索框来搜索特定项目。该页面以表格形式回显结果。到目前为止,一切都很完美,但是当我尝试过滤结果(取决于功能)时,我得到两组结果。一个是之前显示的结果表,另一个是过滤后的结果。我不希望以前的结果再次显示在屏幕上而不影响任何其他过程。类似 session 之类的东西?我不知道该如何处理这种情况。

<?php

include'search.php';// form for a search box.


if (isset($_POST['search_name'])) {
$search_name=mysql_real_escape_string(htmlentities(trim($_POST['search_name'])));
$errors = array();

if (empty($search_name)){

$errors[] ='please enter a search term';
}
else if (strlen($search_name)<3){
$errors[] = 'your search term must be three or more characters';
}
else if (1==2){
$errors[] ='your search for '.$search_name.' returened no results';
}
if (empty($errors)){



filter($search_name); //it display another form in the navigation bar to filter the search result.


search_results($search_name);//searches for all the result onthe database depending on the keyword entered in searchbox.


} else{

foreach($errors as $error) {
echo $error,'</br>';
}
}

}

?>

最佳答案

查看这段代码:

echo 'world';
echo 'hello !';

您可以使用 ob_start() 拦截 echo , ob_get_contents()ob_clean() .

ob_start();
echo 'world';

var $echoed = ob_get_contents();
ob_clean();

// real echo
echo 'hello ' . $echoed . '!';

// now you see
// hello world!

因为 ob“输出缓冲”是 PHP 原生的,所以您可以将它与函数、include 等任何内容一起使用。我正在使用这种方法,拦截 (1.) Controller 流中的输出,并拦截 (2.) View 的输出,以便我可以稍后组合它们(例如,将 PHP 错误渲染到调试 div 中。

关于php - 我如何清除先前回显的结果而不影响 php 中的任何其他功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15324498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com