안녕하세요, 난 Search.phpPHP 다중 옵션 검색 쿼리 ....? 내가 PHP에서 검색 상자 노력 새로 온
내가 문제
에게이 첩과 노력하지만지고있어 아래<form method="post" action="search.php">
<select name="purpose">
<option value="" selected="selected">-any-</option>
<option value="For Sale">For Sale</option>
<option value="For Rent">For Rent</option>
</select>
<select name="type">
<option value="" selected="selected">-any-</option>
<option value="Bungalow">Bungalow</option>
<option value="Apartment">Apartment</option>
</select>
<select name="location">
<option value="" selected="selected">-any-</option>
<option value="Norway">Norway</option>
<option value="Itley">Itley</option>
</select>
<input type="submit" value="Search">
</form>
로 양식을 작성 이
SELECT * FROM test WHERE purpose='$purpose' AND location='$location' AND type='$type'
같은 $purpose=$_POST['purpose'];
$type=$_POST['type'];
$location=$_POST['location'];
내가 넣어 경우 및 쿼리
그것은 내가 다음은 혼합
결과 필터링이
SELECT * FROM test WHERE purpose='$purpose' OR location='$location' OR type='$type'
같이 넣어 또는 쿼리의 경우 빈
표시의 하나 개의 결과로 하나를 필터링하지 내가 원하는 모든 IT 필터링을 선택한 경우 (목적> > 유형 >> 위치) AND 경우 하나
Result not found!
01이 표시되지만 정확한 결과 다른 로 필터링 한 다음 선택한
나는 이렇게하고 있지만 오류가있다.
$ qry = "SELECT * FROM test WHERE 1 = 1";
if ($ purpose! = "") $ qry. = "AND purpose = '$ purpose'";
if ($ location! = "") $ qry. = "AND location = '$ location'";
if ($ type! = "") $ qry. = "AND type = '$ type'";
동안 (= $ 행로 MYSQL_ASSOC의 ($ SQL))
에코 $ 행 [ '목적'];
echo $ row [ 'location'];
echo $ row [ 'type'];
가 넣어 한
1 만는 mysql_real_escape_string()로 맞습니다 – Waygood
를 aswell : 당신이 SQL 문장이 있으면 (내가 먼저 쓴 코드는 $ SQL var에에), 후이를 사용합니다. mysql_real_escape_string()은 항상 사용되어야합니다. 내가 그것을 넣지 않은 이유는 그가 그가 php에 새로운 것을 말했기 때문에, 그가 magic_quotes를 사용할 수 있는지 여부를 알 수 없다. 따라서 활성화 된 경우 mysql_real_escape_string() 함수에 문제가 발생합니다. – elxordi
선생님, 저는 이렇게하고 있지만 오류를 보여줍니다. '$ sql = array ($ purpose, $ location, $ type); if (! empty ($ purpose)) { $ sql [] = "목적 = '$ 목적'"; } if (! empty ($ Pro_type)) { $ sql [] = "type = '$ type'"; } if (! empty ($ location)) { $ sql [] = "location = '$ location'"; } $ sql = implode ('AND', $ sql); $ sql = "SELECT * FROM 테스트". (! empty ($ sql)? "WHERE". $ sql : ''); –