PHP单选按钮和复选按钮。
这个是怎么实现的。就是说选文章搜索的时候就搜索文章,选标题的时候就搜索标题。这个是怎么做的。不知道我说清楚没...
这个是怎么实现的。就是说选文章搜索的时候就搜索文章,选标题的时候就搜索标题。这个是怎么做的。不知道我说清楚没
展开
2个回答
展开全部
这个实现的原理很简单,其实是通过一个表单,操作GET参数,通过获取不同的GET参数,来调节 SQL查询语句的行为,具体的代码如下:
// 假设共有3种搜索类别:0)全局搜索 1)标题搜索 2)关键字搜索
// 表单代码设置为GET模式提交,因为是演示,所以我只把关键代码写出来
'<select name="searchType">
<option value="0" selected="selected">全局搜索</option>
<option value="1">标题搜索</option>
<option value="2">关键字搜索</option>
</select>';
// $_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查询的行为结果,也就不一样
如果还有问题,欢迎追问~
更多追问追答
追问
用也是一样吗?
追答
主要是通过表单GET提交来选择SQL查询行为。列表标记是用来排版的,和表单没有关系。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询