相关选择输入

Can anybody help me on this. For showing the rezults from an MySql database i have to select school, class, subject, and exam. But listing all the classes or all the exams is not very practical so i want to do another function that when i choose some schools in the first select box it shows me in the second select box only the classes of the selected schools.

My code is:

    <div id="allselects">
<form action="viewing.php" method="post" name="filt">
<div class="multsarrange">
<h1 class="choosetext" >Chose Schools</h1>
<select class="multipleselect"  name="schools[]" size="8" multiple="multiple" id="shkll">
  <?php

                        $sql = "SELECT * FROM schools ";
                        $scc=mysql_query($sql);
                        while ($db_f = mysql_fetch_assoc($scc)) {
                        $schcd=$db_f['schoolcode'];
                        $schc=$db_f['schoolname'];
                        echo "<option  value=$schcd >$schc</option>";
                            } 
                        ?>
  </select>
</div>
<div class="multsarrange" id="clasaajax">
<h1 class="choosetext" >Chose an Classes</h1>
<select class="multipleselect" name="classes[]" size="8" multiple="multiple" ">
<?php

                        $c = "SELECT * FROM classes ";
                        $cl=mysql_query($c);
                        while ($db_f = mysql_fetch_assoc($cl)) {
                        $clsc=$db_f['schoolID'];
                        $claid=$db_f['classID'];
                        $clay=$db_f['year'];
                        $clanm=$db_f['className'];
                        $name=schoolidton($clsc)."  ".$clay." ".$clanm;
                        echo "<option  value=$claid >$name</option>";
    } 
?>
</select>
</div>
<div class="multsarrange">
<h1 class="choosetext" >Chose Subjects</h1>
<select class="multipleselect" name="subjects[]" size="8" multiple="multiple">
<?php

                        $sb = "SELECT * FROM subjects ";
                        $sbi=mysql_query($sb);
                        while ($db_f = mysql_fetch_assoc($sbi)) {
                        $sbnm=$db_f['subjectName'];
                        $sbid=$db_f['subjectID'];
                        echo "<option  value=$sbid >$sbnm</option>";
                            } 
                        ?>
</select>
</div>
<div class="multsarrange">
<h1 class="choosetext" >Chose Exams</h1>
<select class="multipleselect" name="exams[]" size="8" multiple="multiple">
<?php

                        $e = "SELECT * FROM exams ";
                        $ex=mysql_query($e);
                        while ($db_f = mysql_fetch_assoc($ex)) {
                        $id=$db_f['examID'];
                        $sub=$db_f['subjectID'];
                        $desc=$db_f['description'];
                        $year=$db_f['year'];
                        $data=$db_f['data'];

                        $exnam=subidton($sub)." - ".$year." - ".$desc." - ".$data;
                        echo "<option  value=$id >$exnam</option>";
                            } 
                        ?>
</select>
</div>
<div id="longsubmit">
</br></br>
<input name="submit" type="submit" value="View" />
</div>
</form>
</div>

use ajax on abc.php get values or ids of school and make the tags you need and return back the results to the relevant id of html function get_options(table,id_field,name_field,where_field,field_value,select_id,edit_id){

$('#'+select_id).html('<option>Loading...</option>');
$.ajax({
        type: "POST", url: "abc.php", data: "&table="+table+"&id_field="+id_field+"&name_field="+name_field+"&where_field="+where_field+"&field_value="+field_value+ "&edit_id=" + edit_id +"&get_option=1",
        complete: function(data){
             //alert(data.responseText);
                 $('#'+select_id).html(data.responseText);
        }
    });

}

You have to use AJAX inorder to achieve this.

check this

http://www.plus2net.com/php_tutorial/ajax_drop_down_list.php

What you need to do is the following :

  1. Setup an event listener on the select to listen for the change event - see here
  2. Process the change event by sending the selected value to the PHP script - see here
  3. Using PHP get the selected value and query the database as required (you already do that bit)
  4. Send the associated HTML output or JSON or XML if you just creating a new select list - this is a simple echo
  5. Write the output to the screen using JavaScript - this is either creating a new element based on the reply from the PHP function or inserting the HTML response

There are lots of things within this process - each with multiple options - i suggest you attempt to tackle each one and come back with specific questions if you get stuck