Maison > programmation quotidienne > connaissance de MySQL > Implémentation de la fonction de recherche avancée PHP et de l'épissage dynamique de SQL

Implémentation de la fonction de recherche avancée PHP et de l'épissage dynamique de SQL

慕斯
Libérer: 2021-06-30 10:02:40
avant
6893 Les gens l'ont consulté

Nous avons tellement appris sur PHP, mais je ne sais pas si vous maîtrisez parfaitement l'implémentation de la fonction de recherche avancée et de l'épissage dynamique de PHP de SQL. Oui, sinon, suivez cet article pour continuer à apprendre !

Implémentation de la fonction de recherche avancée PHP et de l'épissage dynamique de SQL. Les fonctions complétées incluent : une requête basée sur une seule condition ou une requête complète basée sur plusieurs conditions. La difficulté réside dans l'épissage dynamique de SQL.

Effet terminé

Écran global

Implémentation de la fonction de recherche avancée PHP et de lépissage dynamique de SQL

Requête floue basée sur le nom seul

Implémentation de la fonction de recherche avancée PHP et de lépissage dynamique de SQL

Requête basée sur le sexe seul

Implémentation de la fonction de recherche avancée PHP et de lépissage dynamique de SQL

Requête complète basée sur plusieurs conditions

Implémentation de la fonction de recherche avancée PHP et de lépissage dynamique de SQL

Code de la page d'accueil

<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>
Copier après la connexion

Code de traitement backend

//接收用户输入的数据$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);
Copier après la connexion

Épissage dynamique sql

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

		switch ($name) {
			//未输入姓名
			case null:
				$name_info=&#39;&#39;;
				break;
			     //Implémentation de la fonction de recherche avancée PHP et de lépissage dynamique de 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;
	}
Copier après la connexion

Recommandations d'apprentissage associées : tutoriel mysql(vidéo)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal