我有这样的代码
$query = $_GET['query'];
$min_length = 0;
if(strlen($query) >= $min_length){
$query = htmlspecialchars($query);
$query = mysql_real_escape_string($query);
if(isset($_POST['option1']) &&
$_POST['option1'] == 'Yes')
{
$raw_results = mysql_query("SELECT * FROM users
WHERE (type = 'hotel' ) AND ((`object` LIKE '%".$query."%') OR (`pass` LIKE '%".$query."%')) ");
}
if(isset($_POST['option2']) &&
$_POST['option2'] == 'Yes')
{
$raw_results = mysql_query("SELECT * FROM users
WHERE (type = 'restaurant' ) AND((`object` LIKE '%".$query."%') OR (`pass` LIKE '%".$query."%')) ");
}
else{
$raw_results = mysql_query("SELECT * FROM users
WHERE (`object` LIKE '%".$query."%') OR (`pass` LIKE '%".$query."%') ");
}
和表格
<form action="results.php" method="post">
<input type="checkbox" name="option1" value="Yes"> hotel<br>
<input type="checkbox" name="option2" value="Yes" > restaurant
<input type="submit" name="formSubmit" value="Submit" />
</form>
我还使用'type'字段获得了Mysql数据库。但它不能100%正常工作。 当我使用搜索和我检查餐厅复选框时,我想只搜索餐馆,与“酒店”相同。但是没有选中字段的脚本搜索,只返回搜索的短语。你能看到任何错误吗?
答案 0 :(得分:0)
试试这个:
result.php:
$query = $_GET['query'];
$min_length = 0;
if(strlen($query) >= $min_length){
$query = htmlspecialchars($query);
$query = mysql_real_escape_string($query);
if(isset($_GET['option1']) &&
$_GET['option1'] == 'Yes')
{
$raw_results = mysql_query("SELECT * FROM users
WHERE (type = 'hotel' ) AND ((`object` LIKE '%".$query."%') OR (`pass` LIKE '%".$query."%')) ");
}
if(isset($_GET['option2']) &&
$_GET['option2'] == 'Yes')
{
$raw_results = mysql_query("SELECT * FROM users
WHERE (type = 'restaurant' ) AND((`object` LIKE '%".$query."%') OR (`pass` LIKE '%".$query."%')) ");
}
else{
$raw_results = mysql_query("SELECT * FROM users
WHERE (`object` LIKE '%".$query."%') OR (`pass` LIKE '%".$query."%') ");
}
表格:
<form action="results.php" method="get">
<input type="checkbox" name="option1" value="Yes"> hotel<br>
<input type="checkbox" name="option2" value="Yes" > restaurant
<input type="submit" name="formSubmit" value="Submit" />
</form>
重要我没有测试过你的任何代码。当我看到您的代码时,我的第一个想法。建议更改Radiobox复选框,因为它是酒店或餐馆。将POST更改为GET。你一起使用GET和POST,这是不太可能的。我建议使用mysqli_ *或PDO连接数据库而不是折旧的mysql_ *函数。