기본적으로 GET을 통해 전달 된 클라이언트의 클라이언트가있는 dbase 테이블에서 일부 계정 정보를 검색해야하며 계정 배치 날짜 (dateplaced)는 다음과 같습니다. 캘린더 필드에서 GET을 통해 다시 전달 된 시작일과 종료일 사이.날짜 범위와 관련된 MySQL/PHP 쿼리에 대한 도움이 필요합니다.
아래 쿼리는 행을 반환하지 않습니다. 쿼리의 SELECT 및 FROM 부분이 의도 한대로 작동하고 GET에서 클라이언트 선택이 올바르게 작동하여 날짜 문제가 남았 음을 확인했습니다. "dateplaced"는 "dd/mm/yyyy"형식의 varchar로 데이터베이스에 저장됩니다. 연구에 나는 mysql이 "yyyy-mm-dd"형식으로 날짜를 원한다는 것을 발견했습니다. 나는 GET 데이터와 비교할 때의 두 부분을 종합 해 보았습니다. 올바르게 형식화되었는지는 확실합니다. str_to_date() 대신 "dateplaced"를 사용하여 정상적으로 시도했지만 작동하지 않으므로 아래에 표시된 것처럼 str_to_date()를 시도했지만 여전히 작동하지 않습니다.
아무도 내 문제를 파악할 수 있습니까? 이것은 나를 미치게합니다.
$query = mysql_query("SELECT accountnumber, firstname, middlename, lastname, currentbalance FROM dbase WHERE clientname = '" . $_GET['client'] . "' AND str_to_date(dateplaced, '%Y-%m-%d') BETWEEN '" . $_GET['calendar_start_year'] . "-" . $_GET['calendar_start_month'] . "-" . $_GET['calendar_start_day'] . "' AND '" . $_GET['calendar_end_year'] . "-" . $_GET['calendar_end_month'] . "-" . $_GET['calendar_end_day'] . "' ORDER BY lastname") or die(mysql_error());
감사합니다. 이 질문에 대한 답은 모두 내 문제를 해결합니다! 나는 둘 다 받아 들일 수있는 것으로 표시 할 수 없으므로 처음부터 이걸 치고있다. – DWilliams