Implementation of PHP advanced search function and dynamic splicing of sql

慕斯
Release: 2021-06-30 10:02:40
forward
6667 people have browsed it

We have learned so much about PHP, but I don’t know if you have fully mastered the implementation of PHP’s advanced search function and dynamic splicing of sql. Yes, if not, then follow this article to continue learning!

Implementation of PHP's advanced search function and dynamic splicing of sql. The completed functions include: query based on one condition alone, or comprehensive query based on multiple conditions. The difficulty lies in dynamically splicing SQL.

Completed effect

General picture

Implementation of PHP advanced search function and dynamic splicing of sql

##Fuzzy query based on name alone

Implementation of PHP advanced search function and dynamic splicing of sql

Query based on gender alone

Implementation of PHP advanced search function and dynamic splicing of sql

Comprehensive query based on multiple conditions

Implementation of PHP advanced search function and dynamic splicing of sql

Front page code

<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>
Copy after login

Background processing code

//接收用户输入的数据$name = $sex = $age = $email = "";if (isset($_POST[&#39;submit&#39;])) {
    if (isset($_POST[&#39;search_name&#39;])) {
    	$name = $_POST[&#39;search_name&#39;];
    }
    if (isset($_POST[&#39;search_sex&#39;])) {
    	$sex = $_POST[&#39;search_sex&#39;];
    }
    if (isset($_POST[&#39;search_age&#39;])) {
    	$age = $_POST[&#39;search_age&#39;];
    }
    if (isset($_POST[&#39;search_email&#39;])) {
    	$email = $_POST[&#39;search_email&#39;];
    }//执行检索sql$search_sql = $myTest->searchData($name,$sex,$age,$email);$result = $myTest->sqlRun($search_sql);
Copy after login

dynamic splicing sql

public function searchData($name,$sex,$age,$email){

		switch ($name) {
			//未输入姓名
			case null:
				$name_info=&#39;&#39;;
				break;
			     //Implementation of PHP advanced search function and dynamic splicing of sql
			    default:
				$name_info=" and name LIKE &#39;%".$name."%&#39;";
				break;
		}
		switch ($sex) {
			//未输入性别
			case null:
				$sex_info=&#39;&#39;;
				break;
			//根据性别准确查询
			default:
				$sex_info=&#39; and sex=&#39;.$sex;
				break;
		}
		switch ($age) {
			//未输入年龄
			case null:
				$age_info=&#39;&#39;;
				break;
			//根据年龄准确查询
			default:
				$age_info=&#39; and age=&#39;.$age;
				break;
		}
		switch ($email) {
			//未输入邮箱
			case null:
				$email_info=&#39;&#39;;
				break;
			//根据邮箱模糊查询
			default:
				$email_info=" and email LIKE &#39;%".$email."%&#39;";
				break;
		}$search_sql=&#39;SELECT * FROM users WHERE 1=1&#39;.$name_info.$sex_info.$age_info.$email_info;&#39;&#39;;return $search_sql;
	}
Copy after login

Relevant learning recommendations:

mysql tutorial(video)

The above is the detailed content of Implementation of PHP advanced search function and dynamic splicing of sql. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:csdn.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!