2014-05-24 2 views
0

나는 약속을 위해 jQuery (http://amsul.ca/pickadate.js/time.htm)를위한 pickadate.js 부가 기능을 사용하여 timepicker를 만들었다. 아이디어는 사람들이 약속을하기 위해 입력 필드에서 시간을 선택할 수 있다는 것입니다. 동시에 배수 약속을 방지하기 위해 이미과 같이 다른 사용자가 촬영 한 옵션을 제거하고 싶습니다 :jQuery와 SQL의 결합

$('.timepicker').pickatime({ 
disable: [ 


]}) 

내가 불능 SQL 결과를 가지고 싶습니다. SQL 쿼리는 다음과 같이 보일 것입니다 :

SELECT time FROM Appointments WHERE date='$date' 

쿼리는 약속이 이미되었습니다있는 시간을 반환합니다.

어떻게하면 괄호 사용 안 함 사이에서 쿼리 결과를 얻을 수 있습니까? 가장 좋은 방법은 무엇입니까? jQuery와 SQL을 결합하지 않아서 전혀 실마리가 없습니다. 인터넷에서 보려고했지만 관련성이없는 것은 없습니다. 도움이 될 것입니다.

+0

응용 프로그램의 논리 계층 용입니다. 단순히 PHP 나 Python을 사용하거나 자바 스크립트의 괄호 안에 쿼리 결과를 삽입해야하는 프레임 워크를 사용하십시오. – EWit

답변

0

먼저 JavaScript와 SQL을 결합하면 항상 나쁜 생각입니다. 적어도 웹 페이지의 경우 사용자는 데이터베이스에 직접 액세스 할 수 없습니다. 대신, 저는 개인적으로 다음과 같이 할 것입니다 :

  • 사용자의 데이터베이스에 액세스하는 페이지를 만듭니다. 이는 정상적인 페이지가 아니며 대신 JavaScript에서 널리 지원되는 JSON을 출력합니다. 한 달 안에 모든 "이벤트"에 대한 데이터베이스를 스캔하여 JSON에 포함시킵니다. 자세한 내용은 JSON at MDN을, 출력 예제는 this을 참조하십시오.
  • XmlHttpRequest 또는 jQuery 자신의 getJSON을 사용하여 특수 페이지에서 이벤트 데이터를 검색하십시오.
  • 이 JSON 개체의 데이터를 사용하여 날짜 선택 도구를 만듭니다. 정보를 새로 고침해야 할 경우 자바 스크립트에서 다시 요청하도록 할 수 있습니다.

사용자와 데이터베이스 간의 페이지가 중요합니다. 한 가지 이유는 사용자로부터 구현 세부 사항을 숨기 때문입니다. (즉, 데이터베이스) 데이터베이스의 위치 또는 데이터베이스 유형을 변경할 수 있으며 인터페이스 페이지가 일치하도록 변경되는 한 사용자는 영향을받지 않습니다. 또 다른 중요한 이유는 사용자의 입력에 대한 유효성 검사를 수행 할 수 있기 때문입니다. 사용자의 어떤 것도 신뢰할 수 없다고 가정하는 웹 응용 프로그램을 개발할 때는 좋은 규칙입니다.. 사용자가 데이터베이스에 직접 액세스 할 수 있다면 모든 종류의 피해를 입을 수 있습니다.

TL; DR

데이터베이스는 서버 측 도구입니다. JavaScript/jQuery는 클라이언트 측 도구입니다. DB에서 클라이언트로 데이터를 가져 오려면 일종의 인터페이스 페이지를 만들어야합니다. JSON을 사용하여이 데이터를 캡슐화하는 것이 좋습니다.