저는 웹 개발에 초보자이며 기본적으로 사용자에게 한 페이지에 풀다운 목록을 표시하는 웹 응용 프로그램을 개발하는 작업을하고 있습니다. 선택하면 다른 모든 목록의 선택이 제한됩니다. 사용자는 목록 중 하나 (선택 설정 순서가 지정되지 않음)로 시작할 수 있어야하며 사용자가 각 목록에서 항목을 선택했거나 이전 매개 변수로 모든 매개 변수를 잠그면 사용자가 GO 단추를 누르고 몇 가지 계산을 눌러야합니다 데이터베이스 선택을 제시하면서 일어날 것입니다. 기본적으로 다중 매개 변수 제품 선택기 응용 프로그램입니다.MySQL, PHP/JavaScript/Ajax/jQuery를 사용하는 연결된 풀다운 목록
목록 간의 관계는 단순하지 않으며 계산 된 필드 등이 필요할 수 있으며 하나의 목록은 여러 다른 항목의 내용에 영향을 줄 수 있습니다. 뒤에있는 데이터베이스는 아마도 아마 30 개의 필드와 500-5000 개의 행을 가진 하나의 큰 테이블 인 MYSQL이 될 것입니다. 나는 당신이 강한 이유가 없다면 PHP, JavaScript 및 아마도 AJAX를 사용할 것입니다.
나는 몇 가지 조사를 수행하고이 작업을 수행하는 세 가지 방법 발견 :
브라우저에 모든 데이터를 전송하고 자바 스크립트로 필터링 등 클라이언트 측을 처리합니다.
각 선택 후 매개 변수를 서버로 다시 보내고 각 선택 후에 전체 양식을 다시로드하십시오. 아마 littebit 자바 스크립트와 PHP에서 대부분의 코드.
AJAX를 사용하면 전체 양식을 다시로드하지 않고도 모든 목록 콘텐츠를 동적으로 변경할 수 있습니다.
A. 느린 초기 :이 너무 새로운 오전부터
내가 갈 길 힘든 시간 텔링을 가지고, 무슨 일이
좀 conserns이 ... 등이 있습니다 함정 로드. # 1 최악?나. 느린 동적 응답. 최악의 # 2? C. 복잡한 프로그래밍. # 3 최악?
D. 다른 브라우저 및 플랫폼에 대한 호환성 문제. 어떤 방법으로 문제를 만들 가능성이 가장 높은지 모르겠다 ... 어떤 Framework를 사용하면 더 좋은가?
E. JavaScript를 사용하지 않는 사람들을 위해 적어도 부분적으로 작업하려고 할 수 있습니까? (새 페이지에서 각 목록을 선택하고 매번 GO 버튼을 누르는 것과 같이)? (내 사용자에게 Javascript가 있어야하므로 커다란 문제는 없다고 말할 수 있다고 생각합니다.) 아마 # 2가 가장 좋습니다.
F. "자유 선택 순서"의 사양은 데이터베이스의 대부분을 처음에 다운로드해야한다는 것을 의미한다고 생각합니다. 따라서이 옵션을 피하려고 노력해야합니다. 방법 # 1, 또는? 즉 # 1 큰 마이너스을 제공하므로
G. 그것은 ..., 사용자 지정 SQL 코드를 구축하여 향후 확장을 할 수 있도록 SQL의 selction/필터링 가능한 한 많은 일을하는 가장 좋은 것입니다
H . 다른 함정 등?
세 가지 방법 모두에 대해 자습서를 찾았지만, 이와 같은 좋은 자료를 지적 해 주시면 고맙겠습니다. 특히 스마트하지 않거나 우수한/호환되지 않는 예제에 기초하지 않습니다.
1 http://www.bobbyvandersluis.com/articles/unobtrusivedynamicselect.php http://javascript.about.com/library/bl3drop.htm http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_20523133.html
2 http://www.plus2net.com/php_tutorial/php_drop_down_list.php http://www.plus2net.com/php_tutorial/php_drop_down_list3.php
3 http://techinitiatives.blogspot.com/2007/01/dynamic-dropdown-list-using-ajax_29.html http://www.webmonkey.com/tutorial/Build_an_Ajax_Dropdown_Menu http://www.noboxmedia.com/massive-ajax-countryarea-drop-down-list/ http://freeajaxscripts.net/tutorials/Tutorials/ajax/view/Create_AJAX_Dynamic_Drop_Down_List_using_PHP_-_xajax.html
01,235,3 + jQuery를이 : 이제 http://remysharp.com/2007/01/20/auto-populating-select-boxes-using-jquery-ajax/
질문에 : 사람이 나를 이렇게 내가 하나를 선택할 수 있습니다 오른쪽에 시작 위의 방법 1-3의 평가와 함께, 조금 도움이 모든 방법을 경험 할 수 선로? 또한 jQuery + jSON과 같은 프레임 워크를 배우고/unsing하여 도움을받을 수 있습니까?
RGDS 오후
나는 확실히 jQuery를 사용하여 코드에 훨씬 더 빨리 할 것 자사의 주요 브라우저 모두에서 테스트가 간단한 전화를 AJAX를 사용하는 것이 좋습니다 거라고하고 브라우저 호환성을하지 않았을
포괄적 인 답변을 해주신 James에게 감사드립니다! AJAX + Framework는 대부분의 사람들이 제안하는 것입니다. 내가 노력을 기울여야 만 할 것 같아 .... 다른 부정적인 점은 기본적으로 Javascript를 사용하지 않는 사람들을위한 폴백 솔루션을 사용하지 않는다는 것입니다. 프레임 워크의 경우, jQuery는이 응용 프로그램의 가장 좋은 선택입니다. YUI, MooTools 등은 더 많은 기능을 가지고 있지만 사용/배울 것이 조금 더 어려워 보입니다. –