這是我的分貝:如何鏈接使用PHP和MYSQL的下拉框?
[tblset] | [tblyear] | [tbl_coursetype]
ID, setname, setyear, setcours | ID, YearName | course_no, course_desc
------------------------------ | ---------------- | -----------------------
1 A 1 1 | 1 1st Year | 1 BSIT
2 B 3 2 | 2 2nd Year | 2 BSED
| 3 3rd Year |
| 4 4th Year |
| 5 5th Year |
這是我的代碼:
<form role="form" action="save_stud.php" method="post"> <div class="form-group"> <label>First Name</label> <input type="text" name="studfname" class="form-control" required> </div> <div class="form-group"> <label>Last Name</label> <input type="text" name="studlname" class="form-control" required> </div> <div class="form-group"> <label>Student Course</label> <select name="studcourse" class="form-control"> <?php // Five steps to PHP database connections: // 1. Create a database connection // (Use your own servername, username and password if they are different.) // $connection allows us to keep refering to this connection after it is established $connection = mysql_connect("localhost","root",""); if (!$connection) { die("Database connection failed: " . mysql_error()); } // 2. Select a database to use $db_select = mysql_select_db("studsystem",$connection); if (!$db_select) { die("Database selection failed: " . mysql_error()); } ?> <?php $result = mysql_query("Select setcours, course_desc from tblset, tbl_coursetype where tbl_coursetype.course_no=tblset.setcours group by setcours", $connection); if (!$result) { die("Database query failed: " . mysql_error()); } // 4. Use returned data while ($row = mysql_fetch_array($result)) { echo "<option value=\"{$row[0]}\">{$row[1]}</option>"; } ?> </select> </div> <div class="form-group"> <label>Student Year</label> <select name="studyear" class="form-control"> <?php // Five steps to PHP database connections: // 1. Create a database connection // (Use your own servername, username and password if they are different.) // $connection allows us to keep refering to this connection after it is established $connection = mysql_connect("localhost","root",""); if (!$connection) { die("Database connection failed: " . mysql_error()); } // 2. Select a database to use $db_select = mysql_select_db("studsystem",$connection); if (!$db_select) { die("Database selection failed: " . mysql_error()); } ?> <?php $result = mysql_query("Select setyear, YearName from tblset, tblyear where tblyear.ID=tblset.setyear group by setyear", $connection); if (!$result) { die("Database query failed: " . mysql_error()); } // 4. Use returned data while ($row = mysql_fetch_array($result)) { echo "<option value=\"{$row[0]}\">{$row[1]}</option>"; } ?> </select> </div> <div class="form-group"> <label>Section</label> <select name="studset" class="form-control"> <?php // Five steps to PHP database connections: // 1. Create a database connection // (Use your own servername, username and password if they are different.) // $connection allows us to keep refering to this connection after it is established $connection = mysql_connect("localhost","root",""); if (!$connection) { die("Database connection failed: " . mysql_error()); } // 2. Select a database to use $db_select = mysql_select_db("studsystem",$connection); if (!$db_select) { die("Database selection failed: " . mysql_error()); } ?> <?php $result = mysql_query("SELECT * FROM tblset t LIMIT 0,1000", $connection); if (!$result) { die("Database query failed: " . mysql_error()); } // 4. Use returned data while ($row = mysql_fetch_array($result)) { echo "<option value=\"{$row[0]}\">{$row[1]}</option>"; } ?> </select> </div>
現在,我很困惑,因爲BSIT
只有1st year
但是當每次我選擇BSIT
,第二個下拉也會出現3rd year
,這INFACT,3rd year
僅供BSED
。
總之,我希望當我每次選擇課程時,它都會自動更改第二個下拉菜單及其相應的年份級別。
我是新的PHP和MySQL,我不知道如何解決這個問題。我一直試圖通過互聯網搜索任何代碼近1周,但沒有人的工作,也許我不知道如何,所以我不能跟蹤它爲什麼這樣做。
有人可以幫助我嗎?任何幫助將不勝感激。謝謝!
昨天你不是問這個問題嗎? – Qirel
你需要爲此使用AJAX。看看[jQuery Ajax()](http://api.jquery.com/jquery.ajax/)方法。您需要將查詢db的ajax調用綁定到第二個下拉內容到第一個下拉列表'onChange()'事件。 –
的可能的複製[如何從下拉到使用PHP另一個下拉傳遞PHP變量?](http://stackoverflow.com/questions/33079923/how-to-pass-a-php-variable-from-a-下拉到另一個-下拉-使用的PHP) – DocRattie