我正在尝试将 JavaScript 变量发送到 PHP 脚本,在 SQL 语句中使用该变量,然后将结果发送回 JavaScript。
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调用PHP脚本的原因是因为我在JS中使用了事件监听器来确定我想要发送的变量。 variableToSend 每次都会根据单击的内容而变化,但我在这里将其设置为某个随机数。
我知道问题在于将变量发送到 JavaScript 中的 PHP 脚本,但我不确定除了使用 .post 和 .get 之外还能如何做到这一点。
我还考虑过使用 AJAX 调用,但我不确定这会如何工作。
感谢您的指点。
最佳答案
您已经通过 $.post
和 $.get
使用了 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);
});
关于javascript - 将 JavaScript 变量发送到 PHP,在 SQL 语句中使用该变量,然后显示 PHP 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42880642/