저는 PHP와 SQL을 처음 사용합니다. 다음 논리가 따르는 레코드를 표시하는 SQL 쿼리를 작성하고 있습니다.
1. SQL 테이블에는 9 개의 셀이 있습니다. 3 개의 매개 변수 조합을 사용하여 레코드를 검색하고 싶습니다. 그것은 두 날짜 사이의 검색, 위치 검색 및 속성 카테고리 유형 검색입니다.
2. 검색 기준은 다음과 같습니다.
시작 날짜 : _________ (날짜 선택기)-종료 날짜 : ______________ (날짜 선택기)
위치 : 드롭 다운 (dehi, 뭄바이, .....,)
부동산 카테고리 유형 : 드롭 다운 (주거용, 상업용)
필요한 결과 조합 :
ㅏ. 3 가지 조합 모두 True-(사용자가 날짜, 위치, 소품 고양이 유형을 입력합니다.)
비. 조합 중 하나가 True입니다. (사용자는 하나의 매개 변수 중 하나만 입력합니다.)
씨. 2 개의 조합 만 참입니다. (사용자는 날짜와 위치 (또는) 위치 및 속성 유형 (또는) 날짜 및 속성 유형과 같은 2 개의 매개 변수 조합을 채 웁니다)
문제 : 하나의 조합 만 할 수 있습니다 ....
다음은 내 SQL 쿼리 및 페이지 구문입니다. :
if(isset($_POST['search'])){
$name=$_POST['search'];
$location=$_POST['select1'];
$date1=$_POST['d_dov1'];
$date2=$_POST['d_dov2'];
$categ=$_POST['category'];
$query="SELECT * FROM customer WHERE d_loc='$location' OR d_dov BETWEEN '$date1' AND '$date2' OR d_cate='$categ'";
$sql_Q=mysql_query($query); }else{
$Q_select = "Select * from customer Order by id DESC";
$sql_Q = mysql_query($Q_select) or die(mysql_error()); }
이와 관련하여 도와주세요.
쿼리를 연결하고이 작업을 수행 할 수 있습니다.
if(isset($_POST['search'])){
$name=$_POST['search'];
$location=$_POST['select1'];
$date1=$_POST['d_dov1'];
$date2=$_POST['d_dov2'];
$categ=$_POST['category'];
$query="SELECT * FROM customer WHERE id!=0";
if($location!=''){
$query.=" AND d_loc='$location'";
}
if($date1!='' && $date2!=''){
$query.= " AND d_dov BETWEEN '$date1' AND '$date2'";
}
if($categ!=''){
$query.= " AND d_cate='$categ'";
}
쿼리하는 모든 값을 선택하면 연결합니다. id! = 0을 사용하는 기본 개념은 쿼리를 연결하는 것입니다. ID는 테이블의 기본 키입니다.
필요에 따라 AND 또는 OR를 사용할 수 있습니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다