javascript - 将 JavaScript 变量发送到 PHP,在 SQL 语句中使用该变量,然后显示 PHP 结果

标签 javascript php sql ajax

我正在尝试将 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/

相关文章:

php - 选择行与最新日期的SQL PHP

mysql - 错误代码 : 1054. 'S.No' 中的未知列 'order clause'

mysql - 有没有办法将列定义为 "updatable via trigger only"以强制完整性?

javascript - 这个 JavaScript 语法对于 .unshift() 意味着什么?

javascript - 光滑的.js : Hide slider until images have loaded

javascript - 使用 $http 在 angular-bootstrap-duallistbox 中设置所选项目

php - Laravel 4.1 WhereIn w/多对多关系和条件?

具有非唯一键的 PHP 关联数组

mysql - 如何将 ORDER BY 和 LIMIT 与 UPDATE 一起使用?

javascript - 如何通过 websocket 传递表单数据? (socket.io)