PHP에 대해 많은 것을 배웠습니다. PHP의 고급 검색 기능과 SQL의 동적 접합을 완전히 익혔는지 궁금합니다.
구현에 대해 알아보세요. 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);
동적 접합 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!