javascript - 解析将 2D 数组从 PHP 脚本返回到 Wordpress 代码块内的 Javascript 变量

标签 javascript php arrays wordpress

所以我有一个标准的 php 脚本,它存储在位于服务器主文件夹中的外部 php 文件中(在本例中为/html/mysite/getlocations.php)。

<?php

function getData() {
// MySQL-Connection-Variables
$servername = "xxxxxxxxxx.hosting-data.io";
$username = "xxxxxxxxxxxxxxxxxx";
$password = "xxxxxxxxxxxxxx";
$dbname = "xxxxxxxxxxxx";

// Create connection
$conn = mysqli_connect( $servername, $username, $password, $dbname );
$conn_number = mysqli_connect( $servername, $username, $password, $dbname );
// Check connection
if ( !$conn ) {
    die( "Connection failed: " . mysqli_connect_error() );
}

// SQL-Query for Locations
$sql = "SELECT ID, Beschreibung, Straße, Hausnummer, PLZ, Ort, Bezirk, Leiter, Email, Telefon, Website FROM Locations";
//SQL-Query for Number of Entries
$sql_number = "SELECT COUNT(*) FROM Locations;"
$result = mysqli_query( $conn, $sql );
// Size of MySQL-Table
$size = mysqli_query( $conn_number, $sql );
$counter = 0;

// 2D-Array with all the needed informations for further processing
$returnarray = array();

// Number of Table-Entries > 0
if ( mysqli_num_rows( $result ) > 0 ) {
    // Iterate over all Entries
    while ( $row = mysqli_fetch_assoc( $result ) ) {

    $desription = $row[ "Beschreibung" ];
    $street = $row[ "Straße" ];
    $number = $row[ "Hausnummer" ];
    $plz = $row[ "PLZ" ];
    $city = $row[ "Ort" ];
    $bezirk = $row[ "Bezirk" ];
    $leiter = $row[ "Leiter" ];
    $email = $row[ "Email" ];
    $phone = $row[ "Telefon" ];
    $website = $row[ "Website" ];

    $returnarray[$counter] = array();
    $returnarray[$counter]['name'] = $desription;
    $returnarray[$counter]['street'] = $street;
    $returnarray[$counter]['number'] = $number;
    $returnarray[$counter]['plz'] = $plz;
    $returnarray[$counter]['city'] = $city;
    $returnarray[$counter]['bezirk'] = $bezirk;
    $returnarray[$counter]['leiter'] = $leiter;
    $returnarray[$counter]['email'] = $email;
    $returnarray[$counter]['telefon'] = $telefon;
    $returnarray[$counter]['website'] = $website;
    $counter = $counter + 1;
  }
}


// Close connection
mysqli_close( $conn );

return $returnarray;
}

echo getData();

?>

这个 php 脚本连接到 mysql 数据库,获取信息并将其存储在二维数组中。

现在我想检索这个返回的数组并将其放入 javascript 变量中,这样我就可以使用它在 Wordpress-Codeblock 中进行进一步处理。

所以我的尝试是这样的:

<script type="text/javascript">
var data_from_ajax;

$.get('/html/mysite/getlocations.php', function(data) {
  data_from_ajax = data;
});

</script>

但这并没有像我预期的那样工作。

最佳答案

您可以使用 PHP 的内置 json_encode 创建 JSON 字符串函数并用 JS 解析它 JSON.parse .

我不认为你可以在不序列化的情况下将变量直接传递给 Javascript。

关于javascript - 解析将 2D 数组从 PHP 脚本返回到 Wordpress 代码块内的 Javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56602773/

相关文章:

javascript - 我想从 h4 标签获取文本

php - 如何嵌入 instagram 个人资料?

c - 数组中彼此相邻的相同数字的序列号

c++ - 初始化非默认可构造对象的动态数组

c# - ArrayList 与对象数组与 T 的集合

javascript - 在窗口调整大小时动态改变高度到最高的 div

javascript/jquery - 如何创建合适的模态页面覆盖

javascript - 使用 JavaScript 正则表达式在文本框中仅允许正数和负数

php - 使用预设变量提取列名,然后在查询中使用它

php - 自定义 wordpress 25 主题 - 基本 PHP