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

 528

我们学习了解了这么多关于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;
}



本文网址:https://www.98ks.vip/server-397.html
转载请声明来自:98k源码网 - PHP高级检索功能的实现以及动态拼接sql

评论(0)条

您还没有登录,请 登录 后发表评论!

提示:请勿发布广告垃圾评论,否则封号处理!!

    编辑推荐