2014-07-04 80 views

回答

0

爲了說明我的答案的目的,我將使用演示數據庫,從數據庫中選擇一些任意的ID和名稱值。 這裏的代碼應該足以讓你開始,但我會建議如下:

  • 谷歌第一次......做這樣的東西,你需要知道你的JavaScript和PHP相當不錯。雖然這只是這裏的基礎知識,但它是最重要的基礎知識。
  • 當你問一個問題時更具體......你的問題非常含糊。

不過,我在這裏幫所以這裏是一些基本的代碼,有一個很好的解釋: 首先,你需要在HTML裏面的元素來改變。這裏我使用了#mydropdown#displayArea將用於顯示數據。然後,在Javascript中(記得要包含jQuery),您將使用jQuery的ajax函數(或者,如果您願意,也可以不使用它),以便調用將爲您加載數據的PHP腳本。當PHP腳本返回它的數據(JSON編碼)時,請在JavaScript中解碼並輸出它(或執行任何其他需要的操作)。

在PHP中,這裏的示例腳本只是從$ POST獲得一個變量,可用於過濾數據庫查詢或其他內容。請注意,在本例中,使用了mysql *擴展名。如果你有時間,可以看看PDO(mysql_ *是oooold)。 數據庫查詢在PHP中完成後,它被JSON編碼併發送回javascript並顯示。

我現在只是在下面輸入了這段代碼,所以它可能不會很好地工作,但它不應該花費太多的時間。如果您遇到嚴重問題,我強烈建議您在嘗試執行此操作之前首先獲取PHP和JavaScript技能。

HTML:

<select id="mydropdown" onchange="loadData();"> 
    <option value="a">Some Option</option> 
    <option value="b">Another Option</option> 
</select> 
<div id="displayArea"> 
</div> 

的Javascript:(包括jQuery的到腳本第一)

<script src="//code.jquery.com/jquery-1.10.2.js"></script> 
<script type="text/javascript"> 

    function loadData() 
    { 
     $.ajax(
     { 
      url:"load_data.php", 
      type:"POST", 
      data:{selectedOption:$("#mydropdown").val()} 
     }) 
     .done(function(data) 
     { 
      var returnData=$.parseJSON(data); 
      //do something with the data that was returned 
      $.each(returnData, function(k, v) 
      { 
        //work with a single item in the array of returned data 
        $("#displayArea").append(v.name); 
      }); 
     }) 
     .fail(function() 
     { 
      alert("Something went horribly wrong while trying to get your data! I think the internet is broken"); 
     }); 

    } 

</script> 

PHP:load_data.php

<?php 

//get the selected option that was sent in jQuery's ajax call. This can be used to filter your query 
$selectedOption = $_POST['selectedOption']; 


//connect to mysql and select a db 
$conn=mysql_connect('host', 'user', 'password') or die(mysql_error()); 
mysql_select_db('mydb', $conn) or die(mysql_error()); 

//select data from the db 
$query="SELECT id, name FROM people"; 
$result=mysql_query($query, $conn) or die(mysql_error()); 

//create an array to contain people selected from your DB. 
$people = array(); 
while ($resultsArray=mysql_fetch_array($result)) 
{ 
    array_push($people, array("id"=>$resultsArray['id'], "name"=>$resultsArray['name'])); 
} 

echo json_encode($people); 

?> 
+0

感謝YOu Very MUCh謝謝你..... – user3800755