这个是怎么实现的。就是说选文章搜索的时候就搜索文章,选标题的时候就搜索标题。这个是怎么做的。不知道我说清楚没
PHP单选按钮和复选按钮。
答案:2 悬赏:0
解决时间 2021-02-02 05:05
- 提问者网友:冷天寄予
- 2021-02-01 09:41
最佳答案
- 二级知识专家网友:时光挺欠揍
- 2021-02-01 10:26
这个实现的原理很简单,其实是通过一个表单,操作GET参数,通过获取不同的GET参数,来调节 SQL查询语句的行为,具体的代码如下:
// 假设共有3种搜索类别:0)全局搜索 1)标题搜索 2)关键字搜索
// 表单代码设置为GET模式提交,因为是演示,所以我只把关键代码写出来
'
';
// $_GET['searchType'] == 0 | 全局搜索
// $_GET['searchType'] == 1 | 标题搜索
// $_GET['searchType'] == 2 | 关键字搜索
// 通过switch语句去筛选SQL语句行为,当然因为是GET模式所以需要注意容错处理,防止恶意用户进行SQL注入,我这里就不写具体的容错方法了,只是教你原理
switch ($_GET['searchType']) {
case '0':
$sql = "SELECT `字段` FROM `表名` WHERe `标题字段` LIKE '%搜索的内容%' OR `关键字字段` LIKE '%搜索的内容%' OR `内容字段` LIKE '%搜索的内容%';";
break;
case '1':
$sql = "SELECt `字段` FROM `表名` WHERe `标题字段` LIKE '%搜索的内容%';";
break;
case '2':
$sql = "SELECt `字段` FROM `表名` WHERe `关键字字段` LIKE '%搜索的内容%'";
break;
default: // 属于非法操作,按全局执行
$sql = "SELECt `字段` FROM `表名` WHERe `标题字段` LIKE '%搜索的内容%' OR `关键字字段` LIKE '%搜索的内容%' OR `内容字段` LIKE '%搜索的内容%';";
}
// 因此根据用户选择的不同,SQL查询的行为结果,也就不一样如果还有问题,欢迎追问~
// 假设共有3种搜索类别:0)全局搜索 1)标题搜索 2)关键字搜索
// 表单代码设置为GET模式提交,因为是演示,所以我只把关键代码写出来
'
';
// $_GET['searchType'] == 0 | 全局搜索
// $_GET['searchType'] == 1 | 标题搜索
// $_GET['searchType'] == 2 | 关键字搜索
// 通过switch语句去筛选SQL语句行为,当然因为是GET模式所以需要注意容错处理,防止恶意用户进行SQL注入,我这里就不写具体的容错方法了,只是教你原理
switch ($_GET['searchType']) {
case '0':
$sql = "SELECT `字段` FROM `表名` WHERe `标题字段` LIKE '%搜索的内容%' OR `关键字字段` LIKE '%搜索的内容%' OR `内容字段` LIKE '%搜索的内容%';";
break;
case '1':
$sql = "SELECt `字段` FROM `表名` WHERe `标题字段` LIKE '%搜索的内容%';";
break;
case '2':
$sql = "SELECt `字段` FROM `表名` WHERe `关键字字段` LIKE '%搜索的内容%'";
break;
default: // 属于非法操作,按全局执行
$sql = "SELECt `字段` FROM `表名` WHERe `标题字段` LIKE '%搜索的内容%' OR `关键字字段` LIKE '%搜索的内容%' OR `内容字段` LIKE '%搜索的内容%';";
}
// 因此根据用户选择的不同,SQL查询的行为结果,也就不一样如果还有问题,欢迎追问~
全部回答
- 1楼网友:不羁的心
- 2021-02-01 10:42
php代码中获取表单中单选按钮的值
:(单选按钮只能让我们选择一个,这里有一个“checked”属性,这是用来默认选取的,我们每次刷新我们的页面时就默认为这个值。)
例: