제목 | 특정 시간차가 나는 데이터만을 얻어오려 합니다. | ||
---|---|---|---|
카테고리 | CIBOARD | ||
글쓴이 | 릴리즈 | 작성시각 | 2018/03/13 11:33:27 |
|
|||
------------------------------------ Index : "1" Name : "홍길동" Time : "2018-02-09 13:40:00" ----------------------------------- Index : "2" Name : "고인돌" Time : "2018-02-09 16:40:00" ----------------------------------- ....... 라고 할때, 궁금한 점이 Select 할때, 출입시간이 12시간 이상 초과된 사람의 명단을 알아 내려 합니다. 그래서 where절로 할려니까 조건을 어떻게 줘야 할지 잘 모르겠어서 질문을 드립니다. $DB->select(' Emp.Idx, Emp.Name, Emp.WriteTime '); $DB->from('EmpLog'); $DB->where('EmpLog.WriteTime','조건'); 이렇게 되어야 하는데 기록된 데이터에서 시간 차이 나는걸 구하는건 알겠는데 조건절에서 어떻게 줘야할지를 잘 모르겠네요 ㅠ // $past_time = strtotime($result[1]->WriteTime); // $current_time = date("Y-m-d H:i:s",time()); // $difference = $current_time - $past_time; // $difference_min = $difference/60; |
|||
다음글 | [자답]config 또는 컨트롤러 안에 코드 inlcu... (3) | ||
이전글 | db 에러 (2) | ||
변종원(웅파)
/
2018/03/13 11:44:26 /
추천
0
|
릴리즈
/
2018/03/13 11:58:37 /
추천
0
네 그런데 저같은 경우는 저 조건이 현재시간 - 각 행의 기록된 시간(Emp.WriteTime) > 12hours 이렇게 되는데 이렇게 조건을 줘도 되는지 해서요 ㅠ
|
kaido
/
2018/03/13 13:04:02 /
추천
0
일정 시간 안에서 12시간 이상 차이나는 시간을 가진 자료를 다시 조회하고 싶으신것 이신가요? mysql group by 와 having 구문을 확인해 보시면 될것 같습니다. $DB->group_by(); $DB->having(); 지원도 합니다.
액티브레코드가 어려우시면 우선 쿼리 편집기 에서 원하는 값을 한번 쿼리로 작성 하시고, 다시 액티브레코드로 넣는 방법을 몇번 반복 해보시면 금방 방법을 익힐수 있습니다. |
변종원(웅파)
/
2018/03/13 13:04:04 /
추천
0
mysql 시간함수 찾아보세요. 질문 하시는 내용들은 매뉴얼에 다 포함되어 있는 내용입니다. mysql함수 쓰기 힘드시면 php에서 시간 계산해서 쿼리 작성하시구요. |
릴리즈
/
2018/03/14 09:21:26 /
추천
0
감사합니다 조건절을 제가 너무 어렵게 생각했습니다. 웅파님 말씀하신대로 부등호를 안에 넣고, 수식에서 'EmpLog.WriteTime >'를 제외한 부분을 다 조건으로 빼버리니까 결과가 출력됩니다. kaido님 말씀하신 방법도 시도 하였습니다. 답변 감사드립니다. |
$DB->where('EmpLog.WriteTime > ', '조건'); 이렇게 하십면 됩니다.
질문하시기전에 매뉴얼 읽어보세요. http://www.ciboard.co.kr/user_guide/kr/database/query_builder.html#looking-for-specific-data