현재 나는 이와 같은 가치를 얻고 있습니다 ...
$property_buildingorlocation = ($_GET['buildingorlocation']);
사용자가 입력하는 경우도 있습니다.
건물 이름, 지역 이름, 도시 이름 (배열 크기는 3)
arename, cityname (배열 크기는 2)
cityname (배열 크기는 1)
따라서 2 개의 쉼표, 1 개의 쉼표 또는 쉼표가 없습니다.
입력 수 또는 쉼표 (위에서 언급 한 크기)에 따라 배열의 크기를 동적으로 설정하여 데이터를 배열로 가져오고 싶습니다.
다음으로 배열 크기가 3이면 and 연산자를 사용하여 세 개의 mysql 열 (선택)에서 검색하고 싶습니다.
배열 크기가 2이면 and 연산자로 두 개의 mysql 열 (선택)에서 검색하고 싶습니다.
배열 크기가 1이면 1 mysql 열에서 검색
공개 된 질문으로 밀어 붙이는 건 알지만, 도움이 필요 해요 ... 아침부터 알아낼 수 없었어요 ....
마지막으로 아래 논리를 사용하여 끝났습니다 ... 작동합니다.
if (!empty($property_buildingorlocation)) {
$searchparams = array_map('trim', explode(',', $property_buildingorlocation));
$searchparamscount=count($searchparams);
// If Property Buildingname, Areaname and City are given
if ($searchparamscount == 3) {
$wheres[] = 'property_buildingname LIKE :property_buildingname AND property_areaname LIKE :property_areaname AND property_city LIKE :property_city';
$params[':property_buildingname'] = $searchparams[0];
$params[':property_areaname'] = $searchparams[1];
$select7 = $con->prepare("SELECT city_id, city_name from tbl_city WHERE city_name LIKE (:property_city)");
$select7->setFetchMode(PDO::FETCH_ASSOC);
$select7->bindParam(':property_city', $searchparams[2], PDO::PARAM_STR);
$select7->execute();
while($data7=$select7->fetch()){
$searchparams[2] = $data7['city_id'];
}
$params[':property_city'] = $searchparams[2];
// If Property Areaname and City are given
} else if ($searchparamscount == 2) {
$wheres[] = 'property_areaname LIKE :property_areaname AND property_city LIKE :property_city';
$params[':property_areaname'] = $searchparams[0];
$select7 = $con->prepare("SELECT city_id, city_name from tbl_city WHERE city_name LIKE (:property_city)");
$select7->setFetchMode(PDO::FETCH_ASSOC);
$select7->bindParam(':property_city', $searchparams[1], PDO::PARAM_STR);
$select7->execute();
while($data7=$select7->fetch()){
$searchparams[1] = $data7['city_id'];
}
$params[':property_city'] = $searchparams[1];
}
// If Property City is given
else if ($searchparamscount == 1) {
$wheres[] = 'property_city LIKE :property_city';
$select7 = $con->prepare("SELECT city_id, city_name from tbl_city WHERE city_name LIKE (:property_city)");
$select7->setFetchMode(PDO::FETCH_ASSOC);
$select7->bindParam(':property_city', $searchparams[0], PDO::PARAM_STR);
$select7->execute();
while($data7=$select7->fetch()){
$searchparams[0] = $data7['city_id'];
}
$params[':property_city'] = $searchparams[0];
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다