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.
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="姓名">   <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>
Code de traitement backend
//接收用户输入的数据$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);
Épissage dynamique sql
public function searchData($name,$sex,$age,$email){ switch ($name) { //未输入姓名 case null: $name_info=''; break; //Implémentation de la fonction de recherche avancée PHP et de lépissage dynamique de SQL 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; }
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!