私たちは PHP について多くのことを学びましたが、PHP の高度な検索機能と動的スプライシングの実装を完全にマスターしたかどうかはわかりません。はい、そうでない場合は、この記事に従って学習を続けてください!
PHP の高度な検索機能と SQL の動的スプライシングの実装。完成した機能としては、単一条件によるクエリや、複数の条件による包括的なクエリなどがありますが、SQLを動的に繋ぎ合わせるのが難しい点です。
名前のみに基づくあいまいクエリ
##性別のみに基づいたクエリ 複数の条件に基づいた包括的なクエリ##フロントページコード
<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>
//接收用户输入的数据$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);
# #dynamic splicing sql
public function searchData($name,$sex,$age,$email){ switch ($name) { //未输入姓名 case null: $name_info=''; break; //PHPの高度な検索機能と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; }
mysql チュートリアル(ビデオ)
以上がPHPの高度な検索機能とSQLのダイナミックスプライシングの実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。