我正在我的网站上开发一个搜索引擎。GET
用户可以添加在url 中使用 a 提交的标准。
当用户选择例如 1 个条件时,它看起来像这样:
localhost/search.php?course=1&price=&name=
他们有 3 个可以选择的标准,所以如您所见,他只选择了 COURSE。
现在我必须根据标准从数据库中进行选择,所以我的代码如下所示:
if ($_GET['price'] > 0 && $_GET['name'])
{
$search_price = $_GET['price'];
$search_name = $_GET['name'];
$result2 = mysql_query("SELECT id, name, price, views, userid, type, anonymous FROM files WHERE course='$course_id' AND price < $search_price AND name LIKE '%$search_name%'");
}
elseif ($_GET['price'] > 0)
{
$search_price = $_GET['price'];
$result2 = mysql_query("SELECT id, name, price, views, userid, type, anonymous FROM files WHERE course='$course_id' AND price < $search_price");
}
elseif ($_GET['name'])
{
$search_name = $_GET['name'];
$result2 = mysql_query("SELECT id, name, price, views, userid, type, anonymous FROM files WHERE course='$course_id' AND name LIKE '%$search_name%'");
}
else
{
$result2 = mysql_query("SELECT id, name, price, views, userid, type, anonymous FROM files WHERE course='$course_id'");
}
while ($row2 = mysql_fetch_assoc($result2))
{
.....
但这不可能是正确的方法,因为如果最终用户可以选择 10 个标准,这将是一个很长的代码
我该如何解决?