2017-03-18 6 views
0

JavaScript変数をPHPスクリプトに送信し、そのSQL文で変数を使用して、 JavaScriptに。JavaScript変数をPHPに送信し、その変数をSQL文で使用してから、PHP結果を表示します。

はJavaScript:

// Sending a variable to PHP script 
var variableToSend = '30'; 
$.post('myPHPscript.php', {variable: variableToSend}); 

// Using the variable from earlier, run PHP script to get results 
var data_from_ajax; 
$.get('http://www.mywebsite.com/myPHPscript.php', function(data) { 
data_from_ajax = data; 
}); 

// Display results on the document 
var displayResult = document.getElementById('displayResult'); 
displayResult.innerHTML = data_from_ajax; 

PHP:

<?php 
// Connection stuff 
$conn = new mysqli($servername, $username, $password, $dbname); 

// Get the sent variable 
$variable = $_POST['variable']; 

// Run SQL statement 
$sql = " 
    SELECT column 
    FROM myDatabase 
    WHERE id=$variable 
"; 

$result = $conn->query($sql); 

// Send results back to JavaScript 
while($row = $result->fetch_array(MYSQLI_ASSOC)) { 
    echo $row["column"]; 
} 
?> 

私は私が送信したい変数を決定するためにJSでイベントリスナーを使用するので、JSは、PHPスクリプトを呼び出している理由です。変数ToSendは何がクリックされたかによって変わりますが、ここでは乱数に設定しています。

JavaScriptでPHPスクリプトに変数を送信することに問題があることに気付いていますが、これ以外に、.postと.getを使用する以外にどのようにすればよいかわかりません。

また、AJAX呼び出しを使用すると考えられましたが、どのように動作するかわかりませんでした。

ありがとうございます。

+0

すでに2つのAJAX呼び出しを使用しています。 – Steve

答えて

1

あなたは既に$.post$.getで2回、ajaxを使用しています。

あなただけPOSTリクエストを行い、レスポンスを表示する必要があります。

// Sending a variable to PHP script via ajax post, and display the returned results 
var variableToSend = '30'; 
$.post('http://www.mywebsite.com/myPHPscript.php', {variable: variableToSend}, function(responseFromPhp){ 

    $('#displayResult').html(responsefromPhp); 
}); 
+0

私はあなたが今何を意味しているのかをajaxを2回使って理解しています。ありがとうございました! – Cait

1

したいデータがこのポストのAjaxの呼び出しで返されます。それを検索するには成功関数を指定します。

$.post("test.php", { name: "John", time: "2pm" }) 
    .done(function(data) { 
     alert("Data Loaded: " + data); 
    }); 

ともいくつかの検証を使用するとMySQLでの使用のポストの値の前にエスケープ: http://php.net/manual/en/mysqli.real-escape-string.php

+0

これはうまくいった!どうもありがとうございます。 – Cait