根据下拉选择显示内容


Display content based on dropdown selection?

有人知道当用户从下拉菜单中选择特定月份时如何使内容呈现吗?我觉得这张表需要做点什么。我已经声明了每个月,所以如果这个月与数据库中的日期匹配,就会呈现内容。想法吗?谢谢!

<div id="content">
    <h1>Search by Album, Artist, or Genre</h1>
    <form  method="GET" action=""  > 
            <select>
            <option value="selectmonth">Select a month</option>
            <option value="July 2014" name="July">July 2014</option>
            <option value="August 2014" name="August">August 2014</option>
            <option value="September 2014" name="September">September 2014</option>
</select>
        </form> 
        <br />
    <?php 

$conn = new COM("ADODB.Connection") or die("Cannot start ADO");
$connString= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:''FinalProject.mdb";
//creates the connection object and define the connection string
$month1 = $_GET ['July'];
$month2 = $_GET ['August'];
$month2 = $_GET ['September'];
//update
$conn->Open($connString);
$selectCommand="SELECT * FROM products WHERE  relasedate LIKE '$released'";
if(isset($_GET['July','August','September'])){
$rs = $conn->Execute($selectCommand);
//execute search when user selects month
if (!$rs->EOF){
    print "<h2>New releases for '<b>$released</b>':</h2>";
} //search results header
if ($rs->EOF){
    print "No results found.<br /><br />";
}else{
    while (!$rs->EOF){ 
        $selectCommand=$rs->Fields("ItemID");
        $artist=$rs->Fields("artist");
        $album=$rs->Fields("album");
        $genre=$rs->Fields("Genre");
        $desc=$rs->Fields("itemdesc");
        $recordl=$rs->Fields("recordlabel");
        $released=$rs->Fields("releasedate");
        $images=$rs->Fields("photos");
        echo "
        <div><img src=$images></div>
        <div><b>Artist</b>: $artist <br />
        <b>Album</b>: $album <br />
        <b>Record Label</b>: $recordl <br />
        <b>Release Date</b>: $released <br />
        <b>Genre</b>: $genre <br />
        <b>Description</b>: $desc <br />
        </div>";
        $rs->movenext();
    } //while loop to render results
} //end if statement for null results

$rs->Close;
} //close connection
?>
    </div>

在页面中创建一个div,命名为contentDiv。其次,使用AJAX更新div:

<script>
function loadContent(selectedVal) {
     var xmlhttp;
     if (window.XMLHttpRequest) {
          // code for IE7+, Firefox, Chrome, Opera, Safari
          xmlhttp=new XMLHttpRequest();
     } else {
          // code for IE6, IE5
          xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
     }
     xmlhttp.onreadystatechange=function() {
          if (xmlhttp.readyState==4 && xmlhttp.status==200) {
                document.getElementById("contentDiv").innerHTML=xmlhttp.responseText;
          }
     }
     xmlhttp.open("GET","getInfoFromDatabase.php?selected=" + selectedVal,true);
     xmlhttp.send();
}
</script>

您必须将onchange="loadContent(this.value)"添加到您的选择框中以获得其值。

你会有getInfoFromDatabase.php返回任何你需要基于$_GET['selected']