프로그래머 또는 코더가 아닙니다 (아래에서 확인할 수 있습니다). 네트워크 설명서를 작성합니다.두 개의 드롭 다운 메뉴를 동적으로 채 웁니다.
즉, 나는 HTML, PHP, CSS 등을 잘 알고있다. 그러나 다음은 완전히 완전히 난처한 상황입니다.
제 친구가 내 사이트를 만들려고 시도하고 있지만 그 밖의 모든 문제는 잘 해결되지만 최종 사용자를 다음으로 리디렉션해야합니다. 커뮤니티를 위해 특별히 제작 된 웹 페이지입니다.
최종 사용자가 레코드를 사용할 수있는 모든 상태를 나열하는 드롭 다운 메뉴를 클릭하는 방법입니다.이 메뉴는 첫 번째 메뉴 내의 옵션을 선택할 때 두 번째 메뉴는 해당 주 내의 커뮤니티를 (다시 MySQL을 통해) 채 웁니다.
유용 할 수도있는 것들을 인터넷에서 찾아 보았지만, 나는 코딩의 논리를 잘 갖추지 못했습니다. 그러나 내가 뭘 하려는지 (see here) 기본 버전을 보여주는 하나의 사이트를 찾았지만 MySQL과 함께 작동시키지 못합니다. 이것은 내가 지금까지 나는 곳이다 :
스크립트 -
<script>
function swapOptions(ArrayName) {
var ExSelect = document.theForm.sites;
var theArray = eval(ArrayName);
setOptionText(ExSelect, theArray);
}
function setOptionText(theSelect, theArray) {
for (loop = 0; loop < theSelect.options.length; loop++) {
theSelect.options[loop].text = theArray[loop];
}
}
</script>
및 HTML -
가<form name="theForm">
<select name="chooseCat" onchange="swapOptions(this.options[selectedIndex].text);">
<option value="">Please select your state ...</option>'
<?php
$query = mysql_query("SELECT DISTINCT state FROM sites ORDER BY state")
or die(mysql_error());
while ($result = mysql_fetch_assoc($query)) {
$stateChoice = $result['state'];
echo '<option value="';
echo "$stateChoice";
echo '">';
echo "$stateChoice";
echo '</option>';
echo '<br />';
}
?>
</select>
<select name="sites" style="min-width: 100px;" onchange="location.href='reports.php?page=' + this.options[this.selectedIndex].value;">
<?php
$query = mysql_query("SELECT * FROM sites")
or die(mysql_error());
while ($result = mysql_fetch_assoc($query)) {
echo '<option value="';
echo '">';
echo $result['longname'];
echo '</option>';
echo '<br />';
}
?>
</select>
</form>
이 두 개의 드롭 다운을 반환합니다. 첫 번째는 사용 가능한 상태에 대한 쿼리 결과이며 드롭 다운에 사전 순으로 나열됩니다. 두 번째 사이트는 나열된 모든 사이트의 긴 이름을 갖지만 특정 상태 (방금 선택한 상태)에있는 사이트뿐만 아니라 테이블의 모든 사이트에 대해 긴 이름이 지정됩니다.
결국 드롭 다운 1에는 사용 가능한 모든 상태가 채워 져야합니다. 사용자가 자신의 상태를 선택하면 선택한 국가 내의 모든 커뮤니티와 함께 드롭 다운 2의 인구가 트리거됩니다. 지역 사회의 선택이 드롭 2를 클릭하면, 그것은 어떤 조언을 많이 예를 들어, http://www.webpage.com/reports.php?page=communityNameGoesHere ...
감사를 위해 당신이 여기있을 수 있습니다하기 위해 사용자의 브라우저를 리디렉션합니다 :)
왜 2 번이면 충분합니까? [연결] (http://php.net/manual/en/language.operators.string.php)을 사용할 수 있습니다. – Jocelyn
드롭 다운 1의 옵션을 선택했을 때 ajax 호출을하거나 모든 상태에 대해 가능한 모든 커뮤니티 목록을 별도로 미리로드하고 첫 번째 드롭 다운의 옵션을 선택하면 표시/숨기기를해야하는 것처럼 보입니다. 또는, 옵션을 선택할 때마다 전체 페이지를 다시로드하십시오. 그러나 아마 그렇게하고 싶지는 않을 것입니다. – Mahn
안녕하세요 조슬린, 감사의 말씀을 전합니다. 에코의 반복적 인 사용에 관해서는, 당신은 절대적으로 옳습니다. 나는 그것이 진행중인 작품이기 때문에 단지 이것을 여기에서만 가질 수 있습니다. 한 번 끝내면 확실히 깨끗하게하고 조여줍니다. 다시 한 번 감사드립니다 :) – spyrule