怎么实现多个文本框里面输入内容相关联来进行对数据库的查询实现

如何实现多个文本框里面输入内容相关联来进行对数据库的查询实现
怎么实现多个文本框里面输入内容相关联来进行对数据库的查询实现

对这四个文本框的内容进行相关联 ,可以输入一个或者多个进行查询,如何实现呢???在线等啊 !!!
------解决思路----------------------
简单的说就是,判断是否有输入内容,有的话,拼接sql语句
------解决思路----------------------
你这四个输入框是AND关系还是OR关系?
------解决思路----------------------
没学过asp,这是我用php写的,不过大概的意思应该能看懂。


<?php
// 接收输入的关键词
$include = isset($_GET["word1"]) ? $_GET["word1"] : ""; // 包含全部的关键词
$all     = isset($_GET["word2"]) ? $_GET["word2"] : ""; // 完整的关键词
$any     = isset($_GET["word3"]) ? $_GET["word3"] : ""; // 任意一个关键词
$allnot  = isset($_GET["word4"]) ? $_GET["word4"] : ""; // 不包括任何一个关键词

// 测试数据
$include = "";
$all     = "示例页面";
$any     = "trash publish";
$allnot  = "大西洋 北冰洋";

!empty($include) && $incArr  = explode(" ", $include); // 用空格将字符串拆分并存放到数组中
!empty($all) && $allArr  = explode(" ", $all);
!empty($any) && $anyArr  = explode(" ", $any);
!empty($allnot) && $anotArr = explode(" ", $allnot);

$tableName = "wp_posts"; // 表明
$field1    = "`post_content`"; // 字段1
$field2    = "`post_title`";
$field3    = "`post_status`";
$field4    = "`post_name`";

$sql = "SELECT * FROM {$tableName} where 1=1 ";
$where = "";
// 若输入了 “包含全部的关键词”
if(count($incArr) > 0){
$s = "";
foreach ($incArr as $key => $value) {
$s .= " AND {$field1} LIKE '%{$value}%'";
}
$where .= $s;
}

// 若输入了“完整的关键词”
if(count($allArr) > 0){
$s = "";
foreach ($allArr as $key => $value) {
$s .= " AND {$field2}='{$value}'";
}
$where .= $s;
}

// 若输入了 “包含任意一个关键词”
if(count($anyArr) > 0){
$s = " AND (1<>1";
foreach ($anyArr as $key => $value) {
$s .= " OR {$field3} LIKE '%{$value}%'";
}
$s .= ") ";
$where .= $s;
}

// 若输入了“不包括任何一个关键词”
if(count($anotArr) > 0){
$s = "";
foreach ($anotArr as $key => $value) {
$s .= " AND {$field4} NOT LIKE '%{$value}%'";
}
$where .= $s;
}

if($where){
$sql .= $where;
}
echo $sql;

------解决思路----------------------
1.
1.1声明4个标志位分别记录四个输入框是否有输入内容
 1.2循环处理 
       判断每个框的内容先是否为空,
      如果为空,不处理,标记相应标志位为false
      如果不为空,使用逗号(,)来split得到输入的所有关键字,标记相应标志位为true
2.将标志位为true的字段对应内容分割得到的关键字拼接到SQL字符串的where部分的不同部分,组成完整的SQL后执行查询就行了

至于“包含以下全部”、“包含以下的完整”等如何在where中实现,这个你比所有的回答者要清楚
------解决思路----------------------
引用:
Quote: 引用:

你这四个输入框是AND关系还是OR关系?


功能跟百度高级搜索一样  可以随意组合  每个文本框可以输入多个关键字,我用的数据库可以提供词汇,我只是想知道后台怎么分别获取里面的关键字 然后怎么组合再对数据库进行查询

你看看我4楼写的php代码,对你有什么帮助么?