我已进入带有分页页面的搜索结果的最后一步。我有所有的工作,但只有当有搜索输入文本字段。我需要它能够接受search_text的多个值,因为会有几个搜索选项。也就是说,如何将$pagination传递给值,并完成下面所写的工作?页面上HTML表单上的所有表单输入类型都具有名称search_text。
我在以前的一个没有分页的搜索代码中使用过这种方法,我将多个搜索查询选项导入search.php,如下所示:
//the HTML form from another page that is sending the two values
<form name="search" method="post"
action="http://example.com/search"> Seach for: <input type="text"
name="search_text[]" />
<select name="search_text[]">
<option value="Fiction" selected>Comedy</option>
<option value="Non-Fiction">Drama</option>
</select>
<input type="submit" name="search_button" value="search" /></form>
//search queries from multiple select/input fields in form
$input = array(
"search_text" => $_REQUEST['search_text'],);
$sgenre = $input['search_text'][0];
$scategory = $input['search_text'][1];
现在我需要弄清楚如何更改下面的代码(这是有效的,但只有当html表单只有一个名为search_text的输入文本框时。我如何让下面的代码接受我用上面的代码带到页面上的多个值?
$query = "SELECT * FROM stories";
if(isset($_REQUEST["search_text"]) && $_REQUEST["search_text"] != "")
{
$search = htmlspecialchars($_REQUEST["search_text"]);
$pagination->param = "&search=$search";
$query .= " WHERE stories.genre LIKE '%$search%'";
}
$pagination->rowCount($query);
$pagination->config(3, 5);
$query .= " ORDER BY SID ASC LIMIT {$pagination->start_row},
{$pagination->max_rows}";
也许有类似的东西
$query = "SELECT * FROM stories";
if(isset($_REQUEST["search_text"]) && $_REQUEST["search_text"] != "")
{
$search = htmlspecialchars($_REQUEST["search_text"]);
$genre = htmlspecialchars($_REQUEST["search_text"][0]);
$category = htmlspecialchars($_REQUEST["search_text"][1]);
$pagination->param = "&search=$search";
$query .= " WHERE stories.genre LIKE '%$search%'";
$query .= " AND stores.genre LIKE '%$category'";
}