2017-05-08 24 views
0

Y/M/D에서 D/M으로 날짜 형식을 변경할 수 있어야합니다. /와이. 내가 조회하는 모든 데이터가있는 데이터베이스는 Y/M/D로 설정된 날짜를 갖지만 입력 양식은 아직 D/M/Y와 같은 입력을 갖습니다.Y/M/D에서 D/M/Y 형식으로 SQL/PHP로 양식 입력

형식을 변경할 수있는 사람이 있습니까?

$sql="SELECT `country_name`,`gdp`,`population`,Cyclist.name,Cyclist.dob FROM Country JOIN Cyclist ON Country.ISO_id=Cyclist.ISO_id 
 
WHERE 'dob' 
 
BETWEEN '".$date_1."' AND '".$date_2."'";
다음

양식 제출에서 데이터를 얻기위한 PHP입니다 :

NB 날짜는 여기

는 SQL이다 'DOB'입니다

$date_1=$_REQUEST['date_1']; 
 
$date_2=$_REQUEST['date_2'];

+0

원하는 방식으로 입력 된 날짜를 파싱하지 못하게하는 이유는 무엇입니까? –

+0

@TimBiegeleisen 원본 폼이나 데이터베이스에서 입력을 구문 분석하는 것에 대해 이야기하고 있습니까? 불행히도, 우리는 그것을 할 수 없습니까? 코드 내부에서 데이터 유형을 어떻게 든 변경해야합니다. – RealHelper

+0

PHP 코드 내에'Y-m-d' 문자열을 만들어 쿼리에서 사용할 수없는 이유는 무엇입니까? –

답변

1

STR_TO_DATE은 날짜 문자열이 주어진 형식을 사용하는 구문 분석합니다. ; $ date_new = 일 ('D-m-Y', 한 strtotime ($ 일))

$sql="SELECT `country_name`,`gdp`,`population`,Cyclist.name,Cyclist.dob FROM Country JOIN Cyclist ON Country.ISO_id=Cyclist.ISO_id 
WHERE 'dob' 
BETWEEN STR_TO_DATE('".$date_1.",'%d,%m,%Y') AND STR_TO_DATE('".$date_2.",'%d,%m,%Y')'"; 

STR_TO_DATE : https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date

+0

어쨌든 PHP 내부에서이를 수행 할 수 있습니까? 예 : – RealHelper

+0

예, Pradnya가 제안한 것처럼 할 수 있습니다. $ date_1 = date ('d-m-Y', strtotime ($ _ REQUEST [ 'date_1']))); $ date_2 = date ('d-m-Y', strtotime ($ _ REQUEST [ 'date_2']))); – Raphael

+0

고마워요! 다행히도 효과가 있었으면 좋겠다. 출력 문제가있다. $ res = & $ db-> query ($ sql); if (PEAR :: isError ($ res)) { die ($ res-> getMessage()); } $ InputDateArray = array(); echo 'hello'; while ($ row = $ res-> fetchRow()) $ InputDateArray [] = $ row; echo json_encode ($ InputDateArray); ' – RealHelper

0

당신은 PHP 일() 및 한 strtotime() 예컨대있는 데이터 형식을 변경할 수있다 그리고 SQL 쿼리에서 전달합니다.