2016-08-02 29 views
1

DATEまでにアイテムを並べ替えるAJAXコードがありますが、カテゴリ別にもアイテムを並べ替える必要があります。追加の変数をAjaxのクエリに追加するには

カテゴリを選択するためのドロップダウンメニューを使用したいと思います。

AJAXコード(MySQLクエリページを呼び出す)を使用してページを呼び出すことによって、カテゴリ変数をURLに渡します。

私はこのコードを持っていた:

var datumfree = 0; 

var month = new Array(); 
month[0] = "Jan"; 
month[1] = "Feb"; 
month[2] = "Mar"; 
month[3] = "Apr"; 
month[4] = "May"; 
month[5] = "June"; 
month[6] = "July"; 
month[7] = "Aug"; 
month[8] = "Sept"; 
month[9] = "Oct"; 
month[10] = "Nov"; 
month[11] = "Dec"; 

$(document).ready(function() { 



    function refresh(free){ 

     $("#loadingfree").show(); 

     if (free) datumfree = datumfree + free; 
    var url = "listcategory.php?date=" + datumfree; 
    $.getJSON(url,function(data) { 

は今、私はこのような何かをしようとした:

var datumfree = 0; 
var category = '$category'; 

var month = new Array(); 
month[0] = "Jan"; 
month[1] = "Feb"; 
month[2] = "Mar"; 
month[3] = "Apr"; 
month[4] = "May"; 
month[5] = "June"; 
month[6] = "July"; 
month[7] = "Aug"; 
month[8] = "Sept"; 
month[9] = "Oct"; 
month[10] = "Nov"; 
month[11] = "Dec"; 

$(document).ready(function() { 



    function refresh(free){ 

     $("#loadingfree").show(); 

     if (free) datumfree = datumfree + free; 
    var url = "listcategory.php?date=" + datumfree + "&category=" + category; 
    $.getJSON(url,function(data) { 

私はそれはおそらくばかげだということを知っているが、私はPHPでの初心者です、私は絶対に持っていますAJAXについての手がかりがないので、どんな援助も評価されません。

+2

あなたを助けることだけで用語の修正:あなたが書いている言語はJavaScriptのです。 '$ .getJSON'のような呼び出しは、AJAXメソッドで、ページを更新することなくサーバー/ APIとやりとりすることができます。 http://www.w3schools.com/ajax/ajax_intro.asp 質問に答えるために、問題は何ですか?私はあなたが本当にあなたがそれを持っているかどうかわからないように、あなたが要求をした後にあなたはデータで何もしていないことを参照してください。コンソールなどでエラーが発生していますか? – Jordan

+0

あなたはこれを読んでいます:http://api.jquery.com/jquery.getjson/ – Chax

+0

$(document).ready()の中でなぜあなたは 'refresh'機能を持っていますか?あなたはそのスコープの外に置くべきです。 – Chax

答えて

1

カテゴリードロップダウンリストからカテゴリ値を取得するには、ドロップダウンリストにidがある場合は$("#id_you_gave").val()を使用し、次にlistcategory.phpページにはajaxから渡された日付値を取得するために$_GET['date']があります。同様の方法で、$_GET['category']を追加して、カテゴリを取得し、これをmysqlのsqlクエリに追加する必要があります(ajaxでパラメータを送信する方法はkeyとdate = "datevalue" & category = "categoryValue"のような値です。私たちがajaxで渡した値を取得するためにphpでポストリクエストがある場合は$ _GET ['']キーを使用する必要があります)

+0

そうなの? 'var category = $("#category ")。val()' – Hunnenkoenig

+0

はい、カテゴリドロップダウンでid属性が "category"の場合 – CNKR

+0

ありがとう!それはまだ動作しませんが、うまくいけばそれを修正することができます。私の主なページにヘッダーがあります。そのヘッダーにはドロップダウンがあります。ドロップダウンから項目(カテゴリ)を選択すると、このコードのページが読み込まれ、MySQLコードのページが読み込まれます。私はそれが3ページを通過することが問題ではないかどうかはわかりません。 – Hunnenkoenig

0

わかりました。

これで動作します。

これは私がやったことです:

var datumfree = 0; 
var category = '<?php echo $_POST['category']; ?>'; 

var month = new Array(); 
month[0] = "Jan"; 
month[1] = "Feb"; 
month[2] = "Mar"; 
month[3] = "Apr"; 
month[4] = "May"; 
month[5] = "June"; 
month[6] = "July"; 
month[7] = "Aug"; 
month[8] = "Sept"; 
month[9] = "Oct"; 
month[10] = "Nov"; 
month[11] = "Dec"; 



$(document).ready(function() { 



    function refresh(free){ 

     $("#loadingfree").show(); 

     if (free) datumfree = datumfree + free; 
    var url = "listcategory.php?date=" +datumfree+ "&category=" + category; 
    $.getJSON(url,function(data) { 
関連する問題