您当前的位置:首页 > 计算机 > 编程开发 > PHP

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

时间:03-30来源:作者:点击数:

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

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

完成的效果

总画面

单独根据姓名模糊查询

单独根据性别查询

根据多个条件综合查询

后台处理代码

//接收用户输入的数据$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;
    }
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门