2013-11-27 85 views
0

我有一個從數據庫中的條目構建的下拉菜單。我需要做的是根據菜單中選定的條目顯示某些內容。所以,如果我在菜單中選擇「Apples」,我可以編寫一個查詢來將「Apple」信息從數據庫中提取出來,而content div將顯示此信息。 「橙子」將寫入「橙子」查詢,然後顯示桔子的信息。顯示動態構建的div

理想情況下,我想要所選菜單項的索引。但由於我沒有提交任何表格,我無法從$_POST變量中獲取信息。我可以通過jQuery或Javascript獲取它,但我需要它來處理另一個MySQL語句。

由於我不知道菜單中的信息,因此無法設置具體的div s來顯示內容。

希望這是有道理的!謝謝你的幫助。

+2

你能不能使用jQuery的.change方法?當下拉值發生變化時,發送一個ajax帖子來獲取數據。 –

+0

我不熟悉AJAX。我的搜索經常提到這一點,我擔心它會歸結到我試圖弄清楚如何做到這一點。 –

+0

如果你想做這種類型的事情,你必須咬緊牙關,學習AJAX。 – Barmar

回答

0

您想創建一個異步調用。您希望在窗體更改時觸發JavaScript以調用服務器。在服務器上,您執行SQL查詢並以機器可讀的格式(如JSON)將其返回,或者只在服務器上構建div。當JavaScript從服務器獲得答覆時,它可以解析內容並將其插入到頁面中。

0

我能感覺到你需要一個例子

JQUERY:

$('select').change(function(){ 
     var myfruit = $(this).val(); // apple, orange 

     $.ajax({ 
      "url": yourphpfile.php, 
      "type": "POST", 
      "data":{"fruit":myfruit}, 
      }).success(function(response) { 
      // response is what we get back from php 

       for(var i in response){ 
        $('#div').append(response[i]['fruit']; 
       } 
     }); 
    }); 

PHP

if(isset($_POST['fruit'])){ 
    $sql = "SELECT * FROM fruits WHERE fruit = '{$_POST['fruit']}'"; 
    // do something with your query, and get a result; 
    echo json_encode($result); // this gets sent to your jquery 
    die; 
} 
+0

因此,$ _POST的工作,即使沒有提交表單? –

+0

是的。這就是阿賈克斯的觀點 – hamobi