여기서 맨 처음것이 $mamaga 이고
두번째 값이 $keyfield1 세번째값이 $keyfield2 값입니다.
그런데 실제 검색결과가 나오는 list 에는 4000에서 12000까지의 값이 6500이라는값 1개밖에 없는데 맨 첫째값인 45000만 찍힙니다.
그리고 또 조건에 맞는 mamaga가 5개이면 처음부터 5개 10이면 처음부터 10개 이런식으로 조건과 관계없이 값이 찍힙니다.
참고로 관련부분 소스를 올려드립니다.
조건문
-------
//조건에 따른 퀘리문 구성루틴
if($by == 'search'){
if(($keyfield1) and ($keyfield2)){ ------->keyfield1, keyfield2 값이 있으면..
//$mamaga를 구하는 루틴 -------------------
$query = "select * from $accountsTable where id='$idi' ORDER BY date DESC"; -----------------------> id값은 앞에서 가저옴
$result = mysql_query($query);
$total = mysql_num_rows($result);
for($i=0; $i<=$total-1; $i++) { ---------->데이터 갯수만끔 돌아라...
$row = mysql_fetch_array($result);
$mamaga = $row[mamaga];
//-----------------------------------------
$queryString = "SELECT * FROM $accountsTable WHERE mamaga>=$keyfield1 and mamaga<=$keyfield2 ORDER BY date DESC"; --------------->조건에 맞는 mamaga만 뽑아내라....
$pageMent = "by=search&keyfield1=$keyfield1&keyfield2=$keyfield2&mode=$mode"; --------------------->페이지 돌릴때 써먹을라고..
echo"$mamaga,$keyfield1,$keyfield2<br>"; ------>확인차 찍어봐라..
}else if
생략~~~~
자바 스크립트문
------------------
<script language="JavaScript">
<!--
function searchGo (form) {
if (!form.keyfield1.value) {
alert("낮은가격을 선택하세요!");
form.keyfield1.focus();
return;
}
if (!form.keyfield2.value) {
alert("높은가격을 선택하세요!");
form.keyfield2.focus();
return;
}
form.submit();
}
//-->
검색 요청문
-------------
//--------------- \는 코딩에 필요한것임 --------------
<form name=form method=\"post\" action=\"./listapart.$PHP\">
<input type=hidden name=by value=\"search\">
아파트 가격 <select name=\"keyfield1\">
<option value=\"\">------
<option value=\"4000\">4000
<option value=\"5000\">5000
<option value=\"7000\">7000
<option value=\"9000\">9000
<option value=\"10000\">10000
<option value=\"12000\">12000
<option value=\"15000\">15000
<option value=\"20000\">20000
<option value=\"25000\">25000
<option value=\"30000\">30000
<option value=\"35000\">35000
<option value=\"40000\">40000
<option value=\"50000\">50000
<option value=\"60000\">60000
</select>만원 ~
<select name=\"keyfield2\">
<option value=\"\">------
<option value=\"5000\">5000
<option value=\"6000\">6000
<option value=\"7000\">7000
<option value=\"9000\">9000
<option value=\"10000\">10000
<option value=\"12000\">12000
<option value=\"15000\">15000
<option value=\"20000\">20000
<option value=\"25000\">25000
<option value=\"30000\">30000
<option value=\"35000\">35000
<option value=\"40000\">40000
<option value=\"50000\">50000
<option value=\"60000\">60000
<option value=\"200000\">200000
</select>만원
<input type=\"button\" value=\"검색\" onClick=\"searchGo(this.form)\">
</form>
이상입니다.
살펴주세요 오늘이 이 검색문제로 3일째입니다.
살며 그리고 사랑하며...
정보는 공유할때 그 가치가 있는것.....
나의 조그만 지식공유는 남에게 엄청난 기쁨을 안겨 준다.
$query = "select * from $accountsTable where id='$idi' ORDER BY date DESC"; -----------------------> id값은 앞에서 가저옴
$result = mysql_query($query);
$total = mysql_num_rows($result);
for($i=0; $i<=$total-1; $i++) {
위 부분이 좀 이상하군요
id 가 $idi 인것을 가지고 아래 for문을 돌리는데
$queryString = "SELECT * FROM $accountsTable WHERE mamaga>=$keyfield1 and mamaga<=$keyfield2 ORDER BY date DESC"; --------------->조건에 맞는 mamaga만 뽑아내라....
가 쓰이는 부분이 없군요.
제가 임의로 필드를 만들어서 테스트를 해보았습니다.
| Field | Type | Null | PRI | NULL | auto_increment |
| mamaga | int(10) | YES | | NULL | |
| keyfield1 | int(10) | YES | | NULL | |
| keyfield2 | int(10) | YES | | NULL | |
Re: 이게 문법적으로 맞나요? 값이 틀리게 나와요.
$keyfield1 과 $keyfield2 에 들어가는 값들을 찍어보세요.
쿼리는 맞습니다.
가뭄에 단비같은 고마운 답변입니다.$mamaga, $keyfield1
가뭄에 단비같은 고마운 답변입니다.
여기서 맨 처음것이 $mamaga 이고$mamaga, $keyfield1, $keyfild2 를 echo 로 찌어보면 시험용
데이터가 모두15개인데 아래와 같이 찍힙니다.
두번째 값이 $keyfield1 세번째값이 $keyfield2 값입니다.
그런데 실제 검색결과가 나오는 list 에는 4000에서 12000까지의 값이 6500이라는값 1개밖에 없는데 맨 첫째값인 45000만 찍힙니다.
그리고 또 조건에 맞는 mamaga가 5개이면 처음부터 5개 10이면 처음부터 10개 이런식으로 조건과 관계없이 값이 찍힙니다.
참고로 관련부분 소스를 올려드립니다.
조건문
-------
이상입니다.
살펴주세요 오늘이 이 검색문제로 3일째입니다.
살며 그리고 사랑하며...
정보는 공유할때 그 가치가 있는것.....
나의 조그만 지식공유는 남에게 엄청난 기쁨을 안겨 준다.
혹시 varchar 인데 number 로 비교하는경우가 아닌지요?
혹시 varchar 인데 number 로 비교하는경우가 아닌지요?
to_number(managa)해보세요.
[code:1]$query = "select * from $
위 부분이 좀 이상하군요
id 가 $idi 인것을 가지고 아래 for문을 돌리는데
가 쓰이는 부분이 없군요.
제가 임의로 필드를 만들어서 테스트를 해보았습니다.
| Field | Type | Null | PRI | NULL | auto_increment |
| mamaga | int(10) | YES | | NULL | |
| keyfield1 | int(10) | YES | | NULL | |
| keyfield2 | int(10) | YES | | NULL | |
45000,4000,12000
6500,4000,12000
34500,4000,12000
34500,4000,12000
34500,4000,12000
34500,4000,12000
56787,4000,12000
23000,4000,12000
56787,4000,12000
2554632,4000,12000
22345,4000,12000
22345,4000,12000
22345,4000,12000
123400,4000,12000
34500,4000,12000
where 조건은 4000 이상 12000 이하 입니다.
올려주신 코드로 검색하면 위와 같이 나옵니다.
조건을 주었을때 정확하게 출력되게 할려면
그럼 정확하게 하나의 값만 나옵니다. 그럼.
댓글 달기