解析从PHP脚本返回的2D数组到Wordpress-Codeblock中的Javascript-Variable

时间:2019-06-14 17:27:38

标签: 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>

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

1 个答案:

答案 0 :(得分:1)

您可以使用PHP内置的json_encode函数创建JSON字符串,然后使用JSON.parse在JS中对其进行解析。

我认为您无需序列化就可以直接将变量传递给Javascript。