2012-05-06 2 views
2

ユーザが選択する内容に応じてMYSQLデータベースに問い合わせる3つのドロップダウンメニューがあります。メニューの1つは動的ですが、データを返すことができません。他の2つは正常に動作します。私はJS onchangeイベントをキャッチして、それをPHPに渡してクエリを実行する必要があると思うが、現在はサークルに入っている。JS onchangeイベントをPHPに渡す方法に関するアドバイス

以下は私がやろうとしていることです。すべての値は<head>セクションに保存されています - 私は自分のクエリを追加し、以下のhtmlとchangeイベントを選択しました。

$category=$_POST['Category']; 
$subcategory=$_POST['Subcategory']; 
$destination=$_POST['Destination']; 

$result = mysql_query("SELECT * FROM travel WHERE Category='$category' 
AND Subcategory='$subcategory' AND Destination='$destination'") 
or die(mysql_error()); 

$row = mysql_fetch_assoc($result) ; 


<select name="subcategory" id="subcategory onchange="javascript: 
dropdownlist(this.options[this.selectedIndex].value)"> 
<option value="">Select Sub-Category</option> 
+0

このイベントをJavaScriptからサーバーに渡したいのですが、ページをリロードしないでください。その場合は、AJAX操作が必要です。 jQueryのドキュメントを見るか、「ajax php example」を検索してください。 – halfer

+0

ありがとうHalfer、はい、それは正確です、メニューは正常に動作しますが、私はJavascriptとPHPが仕事をすることができませんでした、私はあなたのアドバイスを取るとAjaxのPHPの例を探します。 Wes Dunn –

答えて

1

このjQueryのを試してみてください:

$(document).ready(function() { 
    $('#myelement').change(function() { 
     $.ajax(
      serverUrl, 
      { 
       data: { /* Put your input data in here as a hash */ } 
       type: 'POST', 
       dataType: 'json', 
       success: function(data, textStatus, jqXHR) { 
        /* Put your response handler in here */ 
       } 
      } 
     ); 
    }); 
}); 

私は、サーバーのビットを行うためにあなたを残しておきます - あなたはjson_encode()が必要になります。楽しむ!

+0

ありがとうHalfer、私は既に20回目のチュートリアルに参加していました。私が親切にくれたコードをどうすればいいか分かっても、もう一度お礼を言いたいと思います。 –

関連する問題