PHP高级检索功能的实现以及动态拼接sql

我们学习了解了这么多关于PHP的知识,不知道你们对PHP高级检索功能的实现以及动态拼接sql是否已经完全掌握了呢,如果没有,那就跟随本篇文章一起继续学习吧!

PHP高级检索功能的实现以及动态拼接sql。完成的功能有:可以单独根据一个条件查询,也可以通过多个条件综合查询,难点在于动态拼接sql。

完成的效果

总画面

单独根据姓名模糊查询

单独根据性别查询

根据多个条件综合查询

前台页面代码

php 复制代码
<form action="" method="post">
<labal>姓名:</labal> <input style="width:105px" type="text" name="search_name" id="search_name" placeholder="姓名">
&nbsp
<labal>性别:</labal>
<input type="radio" name="search_sex" id="man" value="0">男
<input type="radio" name="search_sex" id="women" value="1">女
&nbsp
<labal>年龄:</labal><input style="width:105px" type="text" name="search_age" id="add_age"placeholder="年龄">
&nbsp
<labal>邮箱:</labal><input style="width:150px" type="text" name="search_email" id="search_email" placeholder="邮箱">
<input id="b" name="submit" style="width:60px" type="submit" value="检索">
</form>

后台处理代码

php 复制代码
//接收用户输入的数据$name = $sex = $age = $email = "";if (isset($_POST['submit'])) {
    if (isset($_POST['search_name'])) {
    	$name = $_POST['search_name'];
    }
    if (isset($_POST['search_sex'])) {
    	$sex = $_POST['search_sex'];
    }
    if (isset($_POST['search_age'])) {
    	$age = $_POST['search_age'];
    }
    if (isset($_POST['search_email'])) {
    	$email = $_POST['search_email'];
    }//执行检索sql$search_sql = $myTest->searchData($name,$sex,$age,$email);$result = $myTest->sqlRun($search_sql);

动态拼接sql

php 复制代码
public function searchData($name,$sex,$age,$email){

		switch ($name) {
			//未输入姓名
			case null:
				$name_info='';
				break;
			     //根据姓名模糊查询
			    default:
				$name_info=" and name LIKE '%".$name."%'";
				break;
		}
		switch ($sex) {
			//未输入性别
			case null:
				$sex_info='';
				break;
			//根据性别准确查询
			default:
				$sex_info=' and sex='.$sex;
				break;
		}
		switch ($age) {
			//未输入年龄
			case null:
				$age_info='';
				break;
			//根据年龄准确查询
			default:
				$age_info=' and age='.$age;
				break;
		}
		switch ($email) {
			//未输入邮箱
			case null:
				$email_info='';
				break;
			//根据邮箱模糊查询
			default:
				$email_info=" and email LIKE '%".$email."%'";
				break;
		}$search_sql='SELECT * FROM users WHERE 1=1'.$name_info.$sex_info.$age_info.$email_info;'';return $search_sql;
	}
相关推荐
秦苒&10 小时前
【C语言】详解数据类型和变量(一):数据类型介绍、 signed和unsigned、数据类型的取值范围、变量、强制类型转换
c语言·开发语言·c++·c#
我爱学习_zwj10 小时前
动态HTTP服务器实战:解析请求与Mock数据
开发语言·前端·javascript
知码者10 小时前
对于Thinkphp5可能遇到的保存问题
服务器·php·apache·小程序开发·跨平台小程序
梅孔立10 小时前
【实用教程】python 批量解析 EML 邮件文件 存成txt ,可以利用 AI 辅助快速生成年终总结
开发语言·python
c#上位机10 小时前
C#异步编程之async、await
开发语言·c#
郑州光合科技余经理10 小时前
实战分享:如何构建东南亚高并发跑腿配送系统
java·开发语言·javascript·spring cloud·uni-app·c#·php
云云只是个程序马喽10 小时前
海外短剧系统开发核心功能设计及上线材料准备
小程序·php
爱装代码的小瓶子10 小时前
【c++进阶】C++11新特性:一切皆可{}初始化
开发语言·c++·visual studio
yaoxin52112310 小时前
273. Java Stream API - Stream 中的中间操作:Mapping 操作详解
java·开发语言·python
技术小甜甜10 小时前
[Python实战] 告别浏览器驱动烦恼:用 Playwright 优雅实现网页自动化
开发语言·python·自动化