현재 선택 필드는 courses_selection_list
이라는 mysql 테이블의 값에서 채워진 양식으로되어 있습니다. 이 표는 course_id
및 course_name
입니다. 코스 카탈로그처럼 작동합니다. courses_by_academy
이라는 두 번째 테이블이 있습니다. 이 테이블에는 course_acad_id
이라는 고유 한 AI 필드와 두 개의 외래 키 academy_id
및 course_id
이 있습니다. 선택 쿼리를 사용하여 courses_by_academy
에서 academy_id
= 15 값을 가져오고 선택 필드를 통해 그 결과를 표시하려고합니다. EXAMPLEmysql 값으로 동적 선택 필드 채우기
<script>
$(document).ready(function() {
var option = $('#courses_offered').val();
showFields(option);
function showFields(option){
var content = '';
for (var i = 1; i <= option; i++){
content += '<div id="course_'+i+'"><label>Course # '+i+'</label><br /><label>Course Name:</label> <select id="coursename_'+i+'" name="coursename_'+i+'"><option value="">--- Select ---</option>"'
<?php
$course_query = $db_con->prepare("SELECT course_id, course_name FROM courses_selection_list;");
$course_query->execute();
$data = $course_query->fetchAll();
foreach ($data as $row){
//dropdown values pulled from database
echo 'content += \'<option value="' . $row['course_id'] . ':'.$row['course_name'].'">' . $row['course_name'] . '</option>\';';
}
?>
'"';
content += '</select></br>Class Start Date: <input type="text" id="start_date_' + i + '" name="start_date_' + i + '" class="datepicker" />Class End Date: <input type="text" id="end_date_' + i + '" name="end_date_' + i + '" class="datepicker" /><div>';
}
$('#course_catalog').html(content);
$('#course_catalog').find(".datepicker").datepicker({dateFormat: "yy-mm-dd"});
}
});
</script>
HTML
<strong>How many courses offered?</strong>
<select name="courses_offered" id="courses_offered">
<?php
$db_select2 = $db_con->prepare("
SELECT a.academy_id
FROM academy a
LEFT JOIN courses_by_academy ca ON a.academy_id = ca.academy_id
WHERE a.academy_id = :id
");
if (!$db_select2) return false;
if (!$db_select2->execute(array(':id' => $id))) return false;
$courses_count = $db_select2->rowCount();
echo "<option value=\"$courses_count\" selected=\"selected\">$courses_count</option>";
?>
</select>
<div id="course_catalog"></div>
표 courses_selection_list
:
+-----------+--------------+
| course_id | course_name |
+-----------+--------------+
| 1 | Biology |
| 2 | Calculus |
+-----------+--------------+
표 courses_by_academy
:
+----------------+------------+------------+--------------+-------------------+-----------------+
| course_acad_id | academy_id | course_id | course_name | course_start_date |course_end_date |
+----------------+------------+------------+--------------+-------------------+-----------------+
| 1 | 15 | 1 | Bilogy | 2012-11-20 | 2012-12-20 |
| 2 | 15 | 2 | Calculus | 2012-11-20 | 2012-12-20 |
+----------------+------------+------------+--------------+-------------------+-----------------+
너 데있어? 숙제 문제입니까? – Zarathuztra
나는'showFields (option)'함수가 onchange로 트리거되어야한다고 가정합니다. –
@ Joke_Sense10 yes. 처음에는 그랬다. html의 쿼리는'academy_id = 15'의'courses_by_academy'에있는 행의 수를 검색 한 다음 값을 기반으로 선택된 필드를 표시합니다. 이제 선택 필드 안에 선택된 값으로 저장된 값을 표시하려고합니다. – techAddict82