쿼리문을 질문드립니다. 어찌해야하나요?

쿼리문을 질문드립니다. 어찌해야하나요?

QA

SIR 제작의뢰 - 견적무료/익명보정/호스팅, DB 이전/단기개발. 이젠 ' 의뢰인'이 원하는 '제작자'에게만 연락처를 알릴 수 있습니다.

쿼리문을 질문드립니다. 어찌해야하나요?

본문

우선 그누4사용자구요..

 

$result=sql_query("select * from $g4[member_table]  where mb_2='Y'  and mb_level='8'  order by mb_name asc");
 
 $jj=-1; $t=0;
 while($row=sql_fetch_array($result)){ $jj++; $t++;
 
  //$rtime은 이전 페이지에서 넘어오는 시간입니다. $rtime를 찍으면 10:30 나옵니다.
  //분을 떼어버리고 10만 가져옵니다.
  $vartime = substr($rtime,0,2);
  
  //mb_8에는 승인시간 즉 09,10,11,12,13,14 이런식으로 쉼표로 구분해서 특정시간만 저장됩니다.
  $givetime = explode(",",$row[mb_8]);  //배열
 
  //넘어온 시간을 승인된 시간의 배열안에 값이 없으면 continue 시킵니다.   
  if(!in_array($vartime, $givetime)) continue; 

 

위와 같이 했는데요... 의도한바데로 승인시간에 해당되지 않는 멤버는 확실히 제거되고 리스트 출력을 하네요..

그런데 문제는 요..

 

$row_cnt=mysql_num_rows($result);
echo $row_cnt;

 

찍어보면..

출력되는 멤버수와 result에서 검색한 멤버의 카운트가 다르게 됩니다. ㅠㅠㅠㅠㅠ

당근 그렇게 나올수 밖에 없네요..ㅠㅠㅠ

 

이게 왜 중요하냐면요.. 페이지나눌때도 문제가 되구요. 특히 위의 코드에서는 멤버출력을 테이블로 2개로 나누어 출력하니까 카운트가다르면 박스가 정상적으로 그려지지 않네요..

 

해결방안은 continue를 쓰지 않고 result 쿼리문에서 조건을 줘야하는데요...

where 검색절에서도 배열이 들어가는지.. 또 거기까진 실력이 안되구요..

 

고수님들 해결방안 좀 알려주세요..

이 글을 내 페이스북 계정으로 보내기 이 글을 내 트위터 계정으로 보내기 이 글을 내 구글플러스 계정으로 보내기

이 질문에 댓글 쓰기 :

답변 2

채택됨
답변을 작성하시기 전에 로그인 해주세요.
전체 65,640 | RSS
고마운 분의 도움으로 질문을 해결하셨다면, 채택을 눌러서 감사의 마음을 전하세요.
어떻게 질문해야 할지 모른다면 질문하는 방법을 읽어 보신후 질문해 보세요.
QA 내용 검색

회원로그인

(주)에스아이알소프트 (06253) 서울특별시 강남구 도곡로1길 14, 6층 624호 (역삼동, 삼일프라자) 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT