我正在将我的搜索引擎过滤器中的一个选项卡选项更改为复选框格式。我无法共享我的网页链接,因为它需要一个我无法分享的管理密码。以下是我尝试过的代码。
只有选中一个复选框,搜索才有效。如果您选中两个或更多复选框进行搜索,搜索结果将仅显示包含最多结果的类别。意思是......如果我有三个类别,导师,导师和老师。在我的数据库中,有1000名导师,500名导师和200名教师。选中导师和教师复选框的搜索将仅产生500名导师的结果。
我想要的是要合并的搜索结果,而不是仅显示500名导师作为搜索结果,它应该显示总共700(包括500名导师和200名教师)。
我还尝试添加[]
,例如此name='Category[]'
搜索工作正常,但我搜索的已选中复选框的每个组合最终都会以1000个导师作为结果。因此,添加[]会使事情变得更糟。
代码如下:
HTML:
<div style="font-family:arial;font-size:15px;margin:8px 15px 0px 15px;">
<b>Select a tutor category</b>
<?php
$strSQL = "SELECT ID, NAME FROM CATEGORY";
if ($pDBAgent->Query($strSQL) == false)
{
echo $pDBAgent->GetLastError();
exit;
}
$iCount = $pDBAgent->GetCount();
for ($i=0; $i<$iCount; $i++)
{
$strID = $pDBAgent->GetResult($i, 'ID');
$strName = $pDBAgent->GetResult($i, 'NAME');
echo "<div style='margin:0px 5px;font-family:arial;font-size:13px;display:inline-block'><input type='checkbox' name='Category' value='$strID'>$strName</div>";
}
?>
</div>
PHP:
if ($iCategory != 0)
{
//Special search for full time tutor
if (($iCategory == 2) || ($iCategory == 5) || ($iCategory == 8))
{
$iCategoryFullTime = $iCategory + 1;
$strCondition .= " AND (CATEGORY_ID = $iCategory OR CATEGORY_ID = $iCategoryFullTime)";
}
else
$strCondition .= " AND CATEGORY_ID = $iCategory";
}