【问题标题】:Search query using php and mysql [closed]使用 php 和 mysql 搜索查询 [关闭]
【发布时间】:2014-07-17 05:36:19
【问题描述】:

需要有关如何使用 PHP 和 Mysql 过滤搜索表单中的搜索结果的帮助

表单包含六个字段 Product 是文本框,Category 是下拉选择项,Business 在文本框中用户输入和状态,城市是下拉选择项,Landmark 是用户输入的文本框。

产品或类别或业务是强制性的。所以用户可以输入任何一个字段,也可以填写所有字段。

现在我需要根据输入获得准确的搜索结果。请帮我解决这个问题

【问题讨论】:

  • 你有没有尝试过?您在数据库中有这些值吗?
  • 是的,我在数据库中有这些值。我试过这样的选择 * FROM sign_up WHERE ( Product Like '%$val_1%' && category ='$val_2' AND Business Like '%$val_3%' and State = '$val_4' and City ='$var5 ' and Landmark Like '%$val_6') or ( Product Like '%$val_1%' && category ='$val_2' AND Business Like '%$val_3%' and State = '$val_4' and City ='$var5' ) OR (Product Like '%$val_1%' && category ='$val_2' AND Business Like '%$val_3%') OR (Product Like '%$val_1%' && category ='$val_2')OR (category = '$val_2' AND Business Like '%$val_3%')OR (category ='$val_2')

标签: php mysql sql search


【解决方案1】:

试试这个:

$query = "select * from table_name where 1 ";

if(!empty($_POST['field1']) ) {
   $query .= " AND field1 like '".trim($_POST['field1'])."'";
}
if(!empty($_POST['field2'])) {
   $query .= " AND field2 like '".trim($_POST['field2'])."'";
}
// and so on
$result = mysql_query($query);

【讨论】:

  • 小心 SQL 注入...
猜你喜欢
  • 2011-08-21
  • 2012-11-12
  • 2011-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-04
  • 1970-01-01
相关资源
最近更新 更多