2016-11-08 4 views
0

AJAXを使用してPHPページ(データベースにクエリを実行する)にデータを送信して特定の値を返そうとしています。私は結果を表示します。AJAXを使用してSQLクエリから複数のPHP変数を返します

私は、AJAXを使用してデータを渡す方法に関するいくつかの例を見つけました。これは私の問題ではありません。 SQLクエリーから複数の結果を元のページに戻す方法です。

page2.php

$prod01 = $_REQUEST['prod01']; 
$prod02 = $_REQUEST['prod02']; 

$cost01 = mysqli_fetch_array(mysqli_query($db,"SELECT `cost`,`cost2` FROM `info` WHERE `blah`='".$prod01."'")); 
$cost02 = mysqli_fetch_array(mysqli_query($db,"SELECT `cost`,`cost2` FROM `info` WHERE `blah`='".$prod02."'")); 

$getcost01 = $qty01 * $cost01[0]; 
$getcost02 = $qty02 * $cost02[0]; 

$foo = array('result01' => $getcost01, 'result02' => $getcost02); 
echo json_encode($foo); 

page1.php

var prod01 = $("#prod01").val(); 
var prod02 = $("#prod02").val(); 


$.ajax({ 
type: "POST", 
url: "page2.php", 
dataType: 'json', 
data : { prod01 : 'pro01', prod02 : 'prod02'}, 
cache: false, 
success: function(result){ 
    $('.showit01').text(result.result01); 
    $('.showit02').text(result.result02); 
} 
}); 

上記の結果は次のとおりです。

$getcost01 
$getcost02 

ないデータベースから予想されるSQLの結果。

私は予想通り "/page2.php?prod01=ABC & prod02を= DEF" それがディスプレイに移動します。

{"result01":"100","result2":"200"} 
+0

ブラウザの開発者ツールでAJAXリクエスト/レスポンスを見たことがありますか?プロジェクトにjQueryライブラリを含めましたか?エラーが報告されていますか?あなたはこれをWebサーバー上で実行していますか? –

+0

あなたは1つのクエリでこれを行うことができます。 –

+1

また、それは吸う:http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php?rq=1 – AbraCadaver

答えて

0

は、Ajaxとの問題があったようです。私はアヤックスが適切にフォーマットされていなかったと仮定してい

var dataString = 'prod01='+ prod01 +'&prod02='+ prod02; 

$.ajax({ 
type: "POST", 
url: "page2.php?", 
dataType: 'json', 
data : dataString , 
cache: false, 
success: function(result){ 
    $('.showit01').text(result.result01); 
    $('.showit02').text(result.result02); 
    } 
}); 

data : { prod01 : 'pro01', prod02 : 'prod02'}, 

を変えましたか?私はそれを説明することはできません。

関連する問題