我们学习了解了这么多关于PHP的知识,不知道你们对PHP高级检索功能的实现以及动态拼接sql是否已经完全掌握了呢,如果没有,那就跟随本篇文章一起继续学习吧!
PHP高级检索功能的实现以及动态拼接sql。完成的功能有:可以单独根据一个条件查询,也可以通过多个条件综合查询,难点在于动态拼接sql。
完成的效果
总画面
单独根据姓名模糊查询
单独根据性别查询
根据多个条件综合查询
前台页面代码
<form action="" method="post">
<labal>姓名:</labal> <input style="width:105px" type="text" name="search_name" id="search_name" placeholder="姓名">
 
<labal>性别:</labal>
<input type="radio" name="search_sex" id="man" value="0">男
<input type="radio" name="search_sex" id="women" value="1">女
 
<labal>年龄:</labal><input style="width:105px" type="text" name="search_age" id="add_age"placeholder="年龄">
 
<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;}