使用Php查询Mysqltable并将结果发送给javascript进行处理

Query Mysql table using Php and send the result to javascript for processing

我是 php/javascript 的初学者,我正在尝试使用 php 中准备好的语句访问 Mysql 数据库。一旦我得到需要的行,我想将它发送到 Javascript 进行处理(比较,递增...)

echo 'var result= ' . json_encode($exampleArray) . ';';

我不想打印数据结果,而是想将其发送到 javascript?我该怎么做?

请注意

echo 'var result= ' . json_encode($exampleArray) . ';';

与打印无关。在服务器端,这会创建发送给客户端的页面内容。客户端页面有 javascript 变量结果可供您处理(比较、递增...)。你应该使用

JSON.parse()

可用于检索子集值并继续您的过程。

您应该考虑使用 Ajax 的另一种方法。您让 Javascript 端向 php 脚本发送请求,该脚本将计算所有内容并将所需数据作为字符串发回。然后,您可以在 Javascript 中使用该字符串,而无需在前端打印该值。

首先在使用字符串之前发送一个 Ajax 请求。

确保您有 jQuery 插件并且此代码在 jQuery 文档中准备就绪。

您可以在此处嵌入 jQuery 的 CDN https://code.jquery.com/

$( document ).ready(function() {
$.Ajax('/ajax.php', 
{
    dataType: 'json', // type of response data
    timeout: 500,     // timeout milliseconds
    success: function (data,status,xhr) {   // success callback function
        //Your string is inside data.responss
        alert(data.responss+" is your value");
    },
    error: function (jqXhr, textStatus, errorMessage) { // error callback 
        $('p').append('Error: ' + errorMessage);
    }
});
});

然后在您的 ajax.php 文件中以 json 格式回显 var

<?php
// [...]
$data["responss"] = 2000;
echo json_encode($data);
?>

您的结果将在 data.responss 内并在成功内可用 {} 如果出现问题,您可以使用错误部分或通过测试 data.responss 是否符合您的预期来创建一个 fallout 事件.

请记住,PHP 是服务器端,Javascript 是客户端。 PHP 总是先执行。所以使用Ajax,你可以在你的负载中的正确时间调用PHP结果。因此,无法从服务器端向 Javascript(客户端)发送内容,因为它已经执行。您可以从 PHP 打印您的 Javascript,但是您将在 HTML.

正文中以明文形式获得该值

无论如何,希望对您有所帮助。如果您在执行此操作时遇到问题,请告诉我。