站长资讯网
最全最丰富的资讯网站

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

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

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

完成的效果

总画面

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

单独根据姓名模糊查询

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

单独根据性别查询

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

根据多个条件综合查询

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

前台页面代码

<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>

后台处理代码

//接收用户输入的数据$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

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; 	}

相关学习推荐:mysql教程(视频)

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号