[英]search function in php script and class
这是search.php的代码-此部分显示搜索文本框和搜索按钮。 将从数据库获取数据。
<?php
//Just declaration here for null
$search_term = '';
search_results = false;
//Check if search data was submitted
if (isset($_GET['s'])) {
// Include the search class
require_once( dirname(__FILE__) . '/class-search.php' );
// Instantiate a new instance of the search class
$search = new search();
// Store search term into a variable
$search_term = $_GET['s'];
// Send the search term to our search class and store the result
$search_results = $search->search($search_term);
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Search</title>
</head>
<body>
<h1>Search</h1>
<div class="search-form">
<form action="" method="get">
<div class="form-field">
<label for="search-field">Search</label>
<b> <input type="search" name="s" placeholder="Enter your search term..." results="5" value="<?php echo $search_term; ?>"> </b>
<input type="submit" value="Search">
</div>
</form>
</div>
<?php
if ($search_results) :
?>
<div class="results-count">
<p>
<?php
echo $search_results['count'];
?> results found
</p>
</div>
<div class="results-table">
<?php
foreach ($search_results['results'] as $search_result) :
?>
<div class="result">
<p>
<?php
echo $search_result->cust_ic;
?>
</p>
</div>
<?php
endforeach;
?>
</div>
<?php
endif;
?>
</body>
</html>
这是class-search.php的代码
class search {
private $mysqli;
public function __construct() {
$this->connect();
}
private function connect() {
$this->mysqli = new mysqli( 'localhost', 'root', 'root', 'abc' );
}
public function search($search_term) {
$sanitized = $this->mysqli->real_escape_string($search_term);
// Run the query
$query = $this->mysqli->query("
SELECT *
FROM customer_info
WHERE cust_name LIKE '%{$sanitized}%'
OR cust_ic LIKE '%{$sanitized}%'
");
// Check results
if ( ! $query->num_rows ) {
return false;
}
// Loop and fetch objects
while( $row = $query->fetch_object() ) {
$rows[] = $row;
}
// Build our return result
$search_results = array(
'count' => $query->num_rows,
'results' => $rows,
);
return $search_results;
}
}
我收到此错误代码:
注意 :第28行的C:\\ xampp \\ htdocs \\ search \\ search.php中的未定义变量:search_term
注意:未定义的变量:第34行的C:\\ xampp \\ htdocs \\ search \\ search.php中的search_results
当我运行search.php时,出现2个错误。 我尝试单击搜索,搜索后不再出现错误。 这个解决方案有什么想法吗? 谢谢
Juste声明您的变量:
<?php
//Declaration
$search_term = '';
search_results = false;
//Check if search data was submitted
if (isset($_GET['s'])) {
// Include the search class
require_once( dirname(__FILE__) . '/class-search.php' );
// Instantiate a new instance of the search class
$search = new search();
// Store search term into a variable
$search_term = $_GET['s'];
// Send the search term to our search class and store the result
$search_results = $search->search($search_term);
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.